从数据帧中删除标题列

2024-04-24 23:05:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有福勒。数据帧:

df

   A   B
0  23  12
1  21  44
2  98  21

如何从此数据帧中删除列名AB?一种方法可能是将其写入csv文件,然后在指定header=None时读取。有没有一种方法可以做到这一点,而无需向csv写入并重新读取


Tags: 文件csv数据方法nonedfheader
3条回答

我认为您不能删除列名,只能通过使用^{}重置列名:

print df.shape[1]
2

print range(df.shape[1])
[0, 1]

df.columns = range(df.shape[1])
print df
    0   1
0  23  12
1  21  44
2  98  21

这与使用^{}^{}相同:

print df.to_csv(header=None,index=False)
23,12
21,44
98,21

print pd.read_csv(io.StringIO(u""+df.to_csv(header=None,index=False)), header=None)
    0   1
0  23  12
1  21  44
2  98  21

具有skiprows的下一个解决方案:

print df.to_csv(index=False)
A,B
23,12
21,44
98,21

print pd.read_csv(io.StringIO(u""+df.to_csv(index=False)), header=None, skiprows=1)
    0   1
0  23  12
1  21  44
2  98  21

我也遇到了同样的问题,但解决方法如下:

df = pd.read_csv('your-array.csv', skiprows=[0])

如何去掉标题(第一行)和索引(第一列)

要写入CSV文件,请执行以下操作:

df = pandas.DataFrame(your_array)
df.to_csv('your_array.csv', header=False, index=False)

要读取CSV文件,请执行以下操作:

df = pandas.read_csv('your_array.csv')
a = df.values

如果要读取不包含标头的CSV文件,请传递其他参数header

df = pandas.read_csv('your_array.csv', header=None)

相关问题 更多 >