python:如何使pd数据帧头的第二个组件成为顶部

2024-05-19 01:06:02 发布

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

我有一个数据帧(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)-粘着.wav既不在列名中,也不在行名中():

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

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

 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},

Tags: 数据nomales4yesksp2wav
2条回答

我猜问题中的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删除第一行。你知道吗

试试这个

df.drop(df.index[0])

删除第一行。你知道吗

相关问题 更多 >

    热门问题