从pandas数据帧中删除标题列

use*_*827 17 python pandas

我有这个人.数据帧:

DF

   A   B
0  23  12
1  21  44
2  98  21
Run Code Online (Sandbox Code Playgroud)

如何删除列名A,并B从该数据帧?一种方法可能是将其写入csv文件,然后在指定header = None时读取它.如果没有写出csv并重新阅读,有没有办法做到这一点?

jez*_*ael 26

我认为你不能删除列名,只能通过重新设置rangeshape:

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
Run Code Online (Sandbox Code Playgroud)

这与使用to_csvread_csv:

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
Run Code Online (Sandbox Code Playgroud)

下一步解决方案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
Run Code Online (Sandbox Code Playgroud)


Bru*_*rut 9

如何摆脱标题(第一行)和索引(第一列).

要写入CSV文件:

df = pandas.DataFrame(your_array)
df.to_csv('your_array.csv', header=False, index=False)
Run Code Online (Sandbox Code Playgroud)

要从CSV文件中读取:

df = pandas.read_csv('your_array.csv')
a = df.values
Run Code Online (Sandbox Code Playgroud)

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

df = pandas.read_csv('your_array.csv', header=None)
Run Code Online (Sandbox Code Playgroud)


小智 5

我遇到了同样的问题,但以这种方式解决了它:

df = pd.read_csv('your-array.csv', skiprows=[0])
Run Code Online (Sandbox Code Playgroud)