我有一个像这样的测向仪:
headings = ['foo','bar','qui','gon','jin']
table = [[1,1,3,4,5],
[1,1,4,5,6],
[2,2,3,4,5],
[2,2,4,5,6],
]
df = DataFrame(columns=headings,data=table)
foo bar qui gon jin
0 1 1 3 4 5
1 1 1 4 5 6
2 2 2 3 4 5
3 2 2 4 5 6
我要做的是,当某一列有相似的值时,我要求所有列的值的平均值,例如,我要平均所有具有类似“bar”值的列,然后创建一个包含答案的数据帧。我尝试了以下方法:
^{pr2}$它输出我想要的:
bar foo gon jin qui
0 1.00E+00 1.00E+00 4.50E+00 5.50E+00 3.50E+00
1 2.00E+00 2.00E+00 4.50E+00 5.50E+00 3.50E+00
但是,当我用另一个值为的列尝试此操作时,它不会输出我想要的:
for i in df['qui'].loc[1:2]:
newDf = newDf.append(df[df['foo'] == i].mean(axis=0),ignore_index=True)
生产
bar foo gon jin qui
0 NAN NAN NAN NAN NAN
1 NAN NAN NAN NAN NAN
你能帮我一下吗?在
附带问题:如何防止新数据帧的列按字母顺序排序?是否可以保持原始数据帧的顺序?在
目前没有回答
相关问题 更多 >
编程相关推荐