Python:如何使PD数据框标头的第二个组件成为第一行

时间:2018-09-16 01:52:57

标签: python pandas dataframe

我有一个数据帧(df),如下所示:

neuron.h

当前,此数据帧的标头是前两行:

                               0        1        2      3       4   5
s4-e1-p1-cohex.wav             0.0      0.0      0.0    Male    No  0.0
s4-e1-p2-thev-buckle.wav       50000    0.51     98039  Male    Yes 1
s4-e10-p1rly-newlyweds.wav     0        0        0      Female  No  0
s4-e10-p2-ks-away.wav          150000   0.2      750000 Male    Yes 1

我想知道如何将打印出的数据框中的第二行移动到熊猫数据框中的第一行。换句话说,下面打印的行不在pd数据框中,我想将其作为数据框的第一行包括在内( s4-e1-p1-cohex.wav既不在列名中也不在行名中):

df.columns.values.tolist()
#[(0, 0.0), (1, 0.0), (2, 0.0), (3, 'Male'), (4, 'No'), (5, 0.0)]

我不得不尝试搜索,但是没有找到这种奇怪格式的答案。我知道我可以使列名称成为不同的向量,然后将其插入数据框,但是我想知道是否还有其他方法可以减少混淆。

s4-e1-p1-cohex.wav             0.0      0.0      0.0    Male    No  0.0

2 个答案:

答案 0 :(得分:1)

尝试一下

df.drop(df.index[0])

删除第一行。

答案 1 :(得分:0)

我猜问题中您的df输出有问题,因为我无法生成您的输出。我做到了

df = pd.DataFrame(columns = [(0, 0.0), (1, 0.0), (2, 0.0), (3, 'Male'), (4, 'No'), (5, 0.0)])

df.loc['s4-e1-p2-thev-buckle.wav']= [50000.0, 0.51, 98039, "Male", "Yes", 1]

df.loc['s4-e10-p1rly-newlyweds.wav']= [0.0, 0.0, 0.0, "Female", "No", 0]

df.loc['s4-e10-p2-ks-away.wav'] = [150000.0, 0.2, 750000, "Male", "Yes",1]

df.to_dict()的输出是

{(0, 0.0): {'s4-e1-p2-thev-buckle.wav': 50000.0, 's4-e10-p1rly-newlyweds.wav': 0.0, 's4-e10-p2-ks-away.wav': 150000.0},
 (1, 0.0): {'s4-e1-p2-thev-buckle.wav': 0.51, 's4-e10-p1rly-newlyweds.wav': 0.0, 's4-e10-p2-ks-away.wav': 0.2},
 (2, 0.0): {'s4-e1-p2-thev-buckle.wav': 98039, 's4-e10-p1rly-newlyweds.wav': 0.0, 's4-e10-p2-ks-away.wav': 750000},
 (3, 'Male'): {'s4-e1-p2-thev-buckle.wav': 'Male', 's4-e10-p1rly-newlyweds.wav': 'Female', 's4-e10-p2-ks-away.wav': 'Male'},
 (4, 'No'): {'s4-e1-p2-thev-buckle.wav': 'Yes', 's4-e10-p1rly-newlyweds.wav': 'No', 's4-e10-p2-ks-away.wav': 'Yes'},
 (5, 0.0): {'s4-e1-p2-thev-buckle.wav': 1, 's4-e10-p1rly-newlyweds.wav': 0, 's4-e10-p2-ks-away.wav': 1}}

我通过Jupyter笔记本输出的df

enter image description here

我真的不明白您的问题和所需的输出。无法从df输出中删除标题。除非将其打印到文件中,然后使用python删除第一行。