我们在数据处理,往往不小心,pandas会“主动”加上行和列的名称,我现在就遇到了这个问题。这个是pandas中to_csv生成的数据各种拼接之后的最终数据(默认参数,index=True,column=True)
Unnamed: 0 ip Unnamed: 0.1 ... 766 767 class
0 0 google.com 0 ... 0.376452 0.148091 0
1 1 facebook.com 1 ... -0.044634 -0.180167 0
2 2 youtube.com 2 ... 0.172028 0.002102 0
3 3 yahoo.com 3 ... 0.286067 -0.269647 0
4 4 baidu.com 4 ... 0.034892 0.445554 0
我们可以看到,
第一列 Unnamed:0 ,第三列Unnamed:0
,这两列是我们不想需要的数据,产生原因是我们在生成csv文件的时候,采用的是默认参数,
我们可以在生成csv时候,可以使用下面参数解决这一个问题。
to_csv()时候,设置index=False。或者加上index=True, index_label="id"
另外有其他同学会说了,我不想重复的再进行一遍数据处理工作,我就想
在我们生成这个CSV中处理,一样是可以的
,事实是我也是这么做的。
import pandas as pd
data = pd.read_csv('finalData.csv')
print('一共有多少个样本呢?', len(data))
print('展示样本前4个数据')
print(data.head())
print('打印样本集的其他详细信息:')
print(data.info())
print('=============================开始处理:==============================')
newData = data.loc[:, ~data.columns.str.contains('^Unnamed')]
print(newData.head())
newData.to_csv('myVecData.csv', index=False)
别忘了index=False,不然又生成一列新的这个不讨人喜欢的东西了。列处理也是一样,有参数column=False,不再赘述。
最后效果:
=============================开始处理:==============================
ip 0 1 ... 766 767 class
0 google.com 0.282674 -0.359200 ... 0.376452 0.148091 0
1 facebook.com 0.542586 -0.390693 ... -0.044634 -0.180167 0
2 youtube.com 0.598675 -0.679748 ... 0.172028 0.002102 0
3 yahoo.com 0.212740 -0.823602 ... 0.286067 -0.269647 0
4 baidu.com 0.017386 -0.355357 ... 0.034892 0.445554 0
我们在数据处理,往往不小心,pandas会“主动”加上行和列的名称,我现在就遇到了这个问题。这个是pandas中to_csv生成的数据各种拼接之后的最终数据(默认参数,index=True,column=True)Unnamed: 0 ip Unnamed: 0.1 ... 766 767 class0 0 go...
pd.read_csv()时,经常读出来的数据的列中多了一行’Unnamed: 0’?
很多初学者可能会遇到这种问题,原因是我们在保存数据的时候(df.to_csv())
没有设置index导致的,
pandas的to_csv()方法中有个参数index,而这个参数的默认值是True,
也就是,如果不指定index的时候(指定index使用的index_label=‘’),
它就会默认生成一个in......
使用Pandas修改csv文件时出现Unnamed: 0 Unnamed: 0.1 Unnamed: 0.1.1 Unnamed: 0.1.1.1
使用Pandas读取csv文件的时候,每次一保存就会自动生成一列Unnamed: 0 Unnamed: 0.1 Unnamed: 0.1.1 Unnamed: 0.1.1.1,甚是烦人:
在这里插入图片描述
解决方法如下:
在save的时候,把index设为false即可
pd.to_csv(path, index=False)
在写入csv文件的时候,默认会自动加入新的一列,Unnamed:0
解决方案:
to_csv()时候,设置index=False。或者加上index=True, index_label="id"
pd.read_csv(path,index_col=0)
解决方案2:
to_csv()时候,设置index=False。或者加上index=True, index_label=“id”
df.to_csv(path,index=Fals...