python:如何制作pd数据帧头';第二个组件位于第一行

python:如何制作pd数据帧头';第二个组件位于第一行,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧(df),如下所示: 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-newlywe

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

                               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
当前,此数据帧的标题是前两行:

df.columns.values.tolist()
#[(0, 0.0), (1, 0.0), (2, 0.0), (3, 'Male'), (4, 'No'), (5, 0.0)]
我想知道如何将这个打印出来的数据框中的第二行移动到panda数据框中的第一行。换句话说,下面打印的行不在pd数据框中,我想将其作为数据框的顶行包含(s4-e1-p1-cohex.wav不在列名中,也不在行名中):

我试着四处搜索,但没有找到这个奇怪格式的答案。我知道我可以让列名成为一个不同的向量,然后将它插入到数据帧中,但我想知道是否还有其他方法不那么复杂

 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.0,
  's4-e10-p1rly-newlyweds.wav': 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},
试试这个

df.drop(df.index[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}}
我的
df
通过Jupyter笔记本电脑的输出是


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

如何读取数据帧?在这个问题中添加df.to_dict(),这样我们就可以确切地看到数据帧的样子。添加df.to_dict()此数据帧是从字典转换而来的,但会产生这种奇怪的格式。我的意思是我想删除第一行。我想要的是将s4-e1-p1-cohex.wav行转换为此数据帧的第一行。目前,它显示为标题的一部分,并且s4-e1-p1-cohex.wav不属于标题或行名称您的问题不清楚,因为您已将数据读入
df
。如果它是一个csv文件,您可以尝试在
pd.read\u csv()
中使用
skiprows
参数。这是一个从字典转换而来的数据帧,产生了这种werid格式
{(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}}