通过这样做,我能够在jupyter笔记中摄取csv:
csvData= pd.read_csv("logfile.csv")
我的数据如下:
event_timestamp ip url
2018-01-10 00:00 111.111.111.111 http://webpage1.com
2018-01-10 00:00 222.222.222.222 http://webpage2.com
...
..
.
我得到了一份独特的ips列表:
list_ips = csvData("[ip]")
我要做的是获得唯一。通常我会这样做:
list_ips.unique()
但是在这种情况下我收到了这个错误:
AttributeError: 'DataFrame' object has no attribute 'unique'
(我可以使用list_ips.head(),它会列出一些IP,但它不是唯一的列表)
由于
修改 我的问题是我实际上有:
list_ips = csvData([["ip"]])
所以我删除了一组括号,因此它变为:
list_ips = csvData(["ip"])
然后我能够按照温的例子来做:
list_ips.unique().tolist()
输出:
['111.111.111.111','222.222.222.222'...]
答案 0 :(得分:2)
您需要正确选择列,然后应用unique
csvData['ip'].unique().tolist()
Out[677]: ['111.111.111.111', '222.222.222.222']
答案 1 :(得分:1)
您遇到此问题的原因是pd.read_csv("logfile.csv").unique()
不是DataFrame的有效属性。我建议你做的是因为csvData作为列表出现,你可以通过csvData['ip']
搜索所有的ip,然后用csvData['ip'].unique()
搜索唯一的ip。