Как Вы определяете, является ли интерфейс физическим портом LAN в Windows PC?

Ошибка здесь в том, что вы обращаетесь к df.loc со списком индексов, например:

 df.loc[df.TypeOfPerson.isin(["Son", "Daughter"]) & (df.Age <= 18)]

вернет фрейм данных с несколькими строками. Поэтому, когда вы помещаете его за if, он спрашивает, как оценить этот фрейм данных как логическое значение, будет ли это any ячеек True или all ячеек True и т. Д.

Один из способов исправить ошибку - указать указанную операцию, или, в вашем случае, вы хотите узнать, есть ли в доме дети, вы можете просто проверить длину отрезанного кадра данных:

for i in df["HouseholdNumber"].unique():
    # you didn't use this i in your code
    ppl_in_house = (df.HouseholdNumber == i)
    is_child = df.TypeOfPerson.isin(["Son", "Daughter"])

    num_children = sum(ppl_in_house & is_child)
[ 1111] Конечно, это только один способ решить вашу проблему, а не лучший.

5
задан 12 revs, 2 users 100% 9 December 2008 в 08:20
поделиться

5 ответов

Назовите GetIfEntry и ищите dwType IF_TYPE_ETHERNET_CSMACD в возвращенной структуре MIB_IFROW.

Или в.NET, ищите Систему. Сеть. NetworkInformation. NetworkInterface с NetworkInterfaceType Ethernet.

5
ответ дан 14 December 2019 в 13:51
поделиться

Я не уверен в ответе - но знать, что возможно иметь несколько интерфейсов Ethernet.

-1
ответ дан 14 December 2019 в 13:51
поделиться

Если машина имеет два NICs, как Вы выберете, какой является правильным? Единственным путем я видел, что сделанный дает пользователю выпадающую комбинацию с IP-адресом каждого интерфейса. См. Wireshark для примера -

Если бы существуют другие решения, я хотел бы услышать их -

0
ответ дан 14 December 2019 в 13:51
поделиться

Проверьте интерфейс через: Назовите GetIfEntry и ищите dwType IF_TYPE_ETHERNET_CSMACD в возвращенной структуре MIB_IFROW.

Или в.NET, ищите Систему. Сеть. NetworkInformation. NetworkInterface с NetworkInterfaceType Ethernet.

И проверьте, содержит ли имя текст, "Виртуальный".

---Это походит на хромой способ проверить, но до сих пор это - единственный метод, который я вижу для игнорирования тех виртуальных 802,3 адаптеров.

0
ответ дан 14 December 2019 в 13:51
поделиться

Лучшим способом я видел до сих пор с любой системой Windows 2000 SP2, и использует WMI.

http://msdn.microsoft.com/en-us/library/aa394582 (По сравнению с 85) .aspx

Win32_NetworkAdapter http://msdn.microsoft.com/en-us/library/aa394216 (по сравнению с 85) .aspx

И можно использовать Систему пространства имен. Сеть. NetworkInformation Jay упоминается. Вот ссылка об обнаружении, какие сетевые платы подключены или разъединены:

http://felizk.dk/?p=43

2
ответ дан 14 December 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: