![](/img/trans.png)
[英]Pandas, turn list of lists of tuples into DataFrame awkward column headers.
[英]Turn pandas dataframe list into boolean column
我在尝试 .isin() 时遇到了一些意外错误,这是问题所在。 我已经废弃了网络,变成了数据框。 现在我想进行更改以使数据对项目更有用。 从报废的数据中,一列包含所有功能,它在 json 中是一个列表,但在 pd 中,它是一个“非空对象”:
"feature": ["Wi-Fi", "LAN", "LED"]
我想根据每个功能创建新的布尔列,这将有助于今后的工作。 它应该是这样的
Product Wifi LAN LED
1 True True True
2 True False False
我试过str.contains和.isin() ,但只有错误。 如
TypeError: only list-like objects are allowed to be passed to isin(), you passed a [str]
ValueError: Length of values does not match length of index
有什么更好的方法来解决这个问题?
另外,原始数据是日文的,我已经加载了带有“encoding="utf-8”的数据框,如何在 Pandas 中使用 utf8 进行最佳编码?我使用 notepad++ 作为编辑器。
使用apply
与in
是否需要校验值list
:
df = pd.read_json('sample.json', lines=True, encoding="utf-8")
print (df)
access address feature hour name offday \
0 30 5-17-62 [Wi-Fi, LAN1, Non-smoking] 9:00〜22:00 CHEZ MADU -
1 30 5-17-62 [Wi-Fi, LAN2, Non-smoking] 9:00〜22:00 CHEZ MADU -
2 30 5-17-62 [Wi-Fi, LAN3, Non-smoking] 9:00〜22:00 CHEZ MADU -
tel web
0 042-465-3533 http://www.hakka-group.co.jp/shoplist/
1 042-465-3533 http://www.hakka-group.co.jp/shoplist/
2 042-465-3533 http://www.hakka-group.co.jp/shoplist/
mask = df['feature'].apply(lambda x: 'LAN1' in x)
print (mask)
0 True
1 False
2 False
Name: feature, dtype: bool
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.