通过执行以下操作,我能够在jupyter笔记中提取csv:
csvData= pd.read_csv("logfile.csv")
Run Code Online (Sandbox Code Playgroud)
我的数据如下所示:
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
...
..
.
Run Code Online (Sandbox Code Playgroud)
我得到了一个独特的IP列表:
list_ips = csvData("[ip]")
Run Code Online (Sandbox Code Playgroud)
我想做的是获得独特的。通常我会这样做:
list_ips.unique()
Run Code Online (Sandbox Code Playgroud)
但是在这种情况下,我得到这个错误:
AttributeError: 'DataFrame' object has no attribute 'unique'
Run Code Online (Sandbox Code Playgroud)
(我可以使用list_ips.head(),它将列出一些IP,但它不是唯一列表)
谢谢
编辑 我的问题是我实际上有:
list_ips = csvData([["ip"]])
Run Code Online (Sandbox Code Playgroud)
因此,我卸下了1套括号,将其变成:
list_ips = csvData(["ip"])
Run Code Online (Sandbox Code Playgroud)
然后,我可以按照温家宝的榜样做:
list_ips.unique().tolist()
Run Code Online (Sandbox Code Playgroud)
输出:
['111.111.111.111','222.222.222.222'...]
Run Code Online (Sandbox Code Playgroud)
您需要正确选择列然后应用 unique
csvData['ip'].unique().tolist()
Out[677]: ['111.111.111.111', '222.222.222.222']
Run Code Online (Sandbox Code Playgroud)