你好,我是 Pandas 的新手,所以我不知道最好的选择是什么(或者即使这是可能的)我有以下 2 个数据帧(我接收它们作为参数,所以我不确定它们是如何真的建成了):
___________|_mean_|_std_|_epoch_|
file1 | 0 | 4 | 300 |
file2 | 2 | 1 | 300 |
file3 | 3 | 2 | 300 |
___________|_mean_|_std_|_epoch_|
file1 | 1 | 4 | 400 |
file2 | 3 | 5 | 400 |
file3 | 3 | 6 | 400 |
在尝试 Concat 函数时,我只是像这样将两个数据帧统一起来。
___________|_mean_|_std_|_epoch_|
file1 | 0 | 4 | 300 |
file2 | 2 | 1 | 300 |
file3 | 3 | 2 | 300 |
file1 | 1 | 4 | 400 |
file2 | 3 | 5 | 400 |
file3 | 3 | 6 | 400 |
合并仅显示列,但不显示值...
我正在寻找这样的东西:
______|_epoch_|_mean_|_std_|
file1 | 300 | 0 | 4 |
| 400 | 1 | 4 |
file2 | 300 | 2 | 1 |
| 400 | 3 | 5 |
file3 | 300 | 3 | 2 |
| 400 | 3 | 6 |
有没有办法进行这种类型的数据帧演示?
谢谢你。
设置每个数据帧的索引并使用 axis=0 连接?
data1 = {'fileName':['file1', 'file2', 'file3'], 'mean':[0,2,3], 'std':[4,1,2], 'epoch':[300,300,300]}
data2 = {'fileName':['file1', 'file2', 'file3'], 'mean':[1,3,3], 'std':[4,5,6], 'epoch':[400,400,400]}
df1 = pd.DataFrame().from_dict(data1).set_index('fileName')
df2 = pd.DataFrame().from_dict(data2).set_index('fileName')
df = pd.concat([df1, df2], axis=0)
print(df)
mean std epoch
fileName
file1 0 4 300
file2 2 1 300
file3 3 2 300
file1 1 4 400
file2 3 5 400
file3 3 6 400
然后你可以用groupby聚合:
df.groupby(['fileName']).size()
fileName
file1 2
file2 2
file3 2
dtype: int64