我有多个数据帧存储在数据帧列表中,我需要从每个数据帧中取出某个列,比如
['d']
并将其放入新定义的数据帧中,但将它们放在彼此旁边,以便计算平均值每行的最后。如何在 python 中做到这一点。
dataFrameList = [df1,df2,df3,df4,..dfn]
所有 dfs 具有相同的列数和名称,例如 a、b、c、d、e、f、g,但行数不同(长度不同)df1 有 115 行,df2 有 220 行,df3 有 90 行,等等。
newDataFrame=pd.DataFrame()
被定义为将每个数据帧中所需的列 d 放在此处。
d1,d2,d3,d4,....dn
但它们必须彼此正确,才能计算每行的平均值。
如何做到这一点?
newDataFrame=(d1 d2 d3 d4 ... dn)
2 5 7 8 .... 1
3 4 8 9 .... 2
.
.
.
Nan 9 Nan 15 ...9
import pandas as pd
df1 = pd.DataFrame({'d1': range(2,4),'d2': range(2,4),'d3': range(2,4)})
df2 = pd.DataFrame({'d1': range(5,12),'d2': range(5,12),'d3': range(5,12)})
df3 = pd.DataFrame({'d1': range(7,15),'d2': range(7,15),'d3': range(7,15)})
df4 = pd.concat([df1['d1'], df2['d2'], df3['d3']], axis=1, keys=['d1', 'd2', 'd3'])
use_dfs = [df1, df2, df3]
use_col = ['d1', 'd2', 'd3']
df4 = pd.concat([d[c] for d,c in zip(use_dfs,use_col)], axis=1, keys=use_col)
输出:
d1 | d2 | d3 |
---|---|---|
2 | 5 | 7 |
3 | 6 | 8 |
南 | 7 | 9 |
南 | 8 | 10 |
南 | 9 | 11 |
南 | 10 | 12 |
南 | 11 | 13 |
南 | 南 | 14 |