Pandas - 删除列名

lil*_*lil 9 python pandas

我想删除只是列名(x,y,z)只使用数据

In [68]: df
Out[68]: 
   x  y  z
0  1  0  1  
1  2  0  0 
2  2  1  1 
3  2  0  1 
4  2  1  0
Run Code Online (Sandbox Code Playgroud)

我想打印结果如下.

Out[68]: 

0  1  0  1  
1  2  0  0 
2  2  1  1 
3  2  0  1 
4  2  1  0
Run Code Online (Sandbox Code Playgroud)

可能吗?我怎么能这样做?

jez*_*ael 12

在pandas中默认需要列名.

但是如果真的想要'remove'列强烈不推荐的,那么获得重复的列名可能会分配空字符串:

df.columns = [''] * len(df.columns)
Run Code Online (Sandbox Code Playgroud)

但是,如果需要写入df到文件中没有列和索引添加参数header=Falseindex=Falseto_csvto_excel.

df.to_csv('file.csv', header=False, index=False)

df.to_excel('file.xlsx', header=False, index=False)
Run Code Online (Sandbox Code Playgroud)


ACh*_*ion 7

如果您只需要打印没有标题,那么您可以使用to_string()和设置header=False,例如:

>>> print(df.to_string(header=False))
0  1  0  1
1  2  0  0
2  2  1  1
3  2  0  1
4  2  1  0
Run Code Online (Sandbox Code Playgroud)


小智 6

如果您需要单独删除标题,请使用“.values”。

df = df[:].values
Run Code Online (Sandbox Code Playgroud)

但是上面的代码将返回一个 numpy 数组而不是数据帧。再次将其转换为数据帧将为列名(0,1..)添加默认值。