我使用了下面的read_csv命令:
In [20]:
dataframe = pd.read_csv('D:/UserInterest/output/ENFP_0719/Bookmark.csv', index_col=None)
dataframe.head()
Out[20]:
Unnamed: 0 timestamp url visits
0 0 1.404028e+09 http://m.blog.naver.com/PostView.nhn?blogId=mi... 2
1 1 1.404028e+09 http://m.facebook.com/l.php?u=http%3A%2F%2Fblo... 1
2 2 1.404028e+09 market://details?id=com.kakao.story 1
3 3 1.404028e+09 https://story-api.kakao.com/upgrade/install 4
4 4 1.403889e+09 http://m.cafe.daum.net/WorldcupLove/Knj/173424... 1
结果显示列Unnamed:0
,当我使用index_col=False
时它是相似的,但当我使用index_col=0
时,结果如下:
dataframe = pd.read_csv('D:/UserInterest/output/ENFP_0719/Bookmark.csv', index_col=0)
dataframe.head()
Out[21]:
timestamp url visits
0 1.404028e+09 http://m.blog.naver.com/PostView.nhn?blogId=mi... 2
1 1.404028e+09 http://m.facebook.com/l.php?u=http%3A%2F%2Fblo... 1
2 1.404028e+09 market://details?id=com.kakao.story 1
3 1.404028e+09 https://story-api.kakao.com/upgrade/install 4
4 1.403889e+09 http://m.cafe.daum.net/WorldcupLove/Knj/173424... 1
结果确实显示了专栏Unnamed:0
,在这里我想问一下,index_col=None
,index_col=0
和index_col=False
之间有什么区别,我读过this中的文档,但我仍然没有理解。
答案 0 :(得分:11)
<强>更新强>
我认为自版本0.16.1以来,如果您尝试为index_col
传递布尔值以避免这种歧义,它现在会引发错误
<强> ORIGINAL 强>
很多人对此感到困惑,为了指定列的序数索引,你应该在这种情况下传递int位置0
,让人感到困惑的是,当没有索引列传递时False
{{ 1}}这是不正确的,他们应该通过None
。 False
将评估为0
因此您观察到的结果。
In [3]:
import io
import pandas as pd
t="""index,a,b
0,hello,pandas"""
pd.read_csv(io.StringIO(t))
Out[3]:
index a b
0 0 hello pandas
默认值为index_col=None
,如上所示。
如果我们设置index_col=0
,我们明确声明将第一列视为索引:
In [4]:
pd.read_csv(io.StringIO(t), index_col=0)
Out[4]:
a b
index
0 hello pandas
如果我们通过index_col=False
,由于False
评估为0
,我们会得到与上述相同的结果:
In [5]:
pd.read_csv(io.StringIO(t), index_col=False)
Out[5]:
index a b
0 0 hello pandas
如果我们现在陈述index_col=None
,我们会得到与我们没有通过此参数时相同的行为:
In [6]:
pd.read_csv(io.StringIO(t), index_col=None)
Out[6]:
index a b
0 0 hello pandas
修改强>
对于您拥有空白索引列的情况:
In [7]:
import io
import pandas as pd
t=""",a,b
0,hello,pandas"""
pd.read_csv(io.StringIO(t))
Out[7]:
Unnamed: 0 a b
0 0 hello pandas
In [8]:
pd.read_csv(io.StringIO(t), index_col=0)
Out[8]:
a b
0 hello pandas
In [9]:
pd.read_csv(io.StringIO(t), index_col=False)
Out[9]:
Unnamed: 0 a b
0 0 hello pandas
In [10]:
pd.read_csv(io.StringIO(t), index_col=None)
Out[10]:
Unnamed: 0 a b
0 0 hello pandas