我有一个字典,其中每个值包含许多不同的DataFrame,它们是按Name
分组的,但我想将它们按Time
分组。我试图应用group/ apply / split类型函数,但由于它们不是单个DataFrame (而是字典中的拆分DataFrames ),所以我有点卡住了。
带有2个数据的字典的玩具示例:
{'df1': Name Time
0 Greg 1-10
1 Greg 5-10
'df2': Name Time
0 Jeff 5-10
1 Jeff 1-10}
复制:
d = {'df1': pd.DataFrame({'Name': ["Jeff", "Greg"], 'Times': ["1-5", "5-10"]}), 'df2': pd.DataFrame({'Name': ["Jeff", "Greg"], 'Times': ["5-10", "1-5"]})}
期望产出:
{'df1': Name Time
0 Greg 1-10
1 Jeff 1-10
'df2': Name Time
0 Jeff 5-10
1 Greg 5-10}
发布于 2022-03-17 04:16:35
IIUC,您的数据如下(让我们称之为data
):
{'df1': Name. Time
0 Greg. 1-10
1 Greg. 5-10,
'df2': Name Time
0 Jeff 5-10
1 Jeff. 1-10}
这里有一个选项:concat
+ groupby
"Time“+ dict:
out = {f'df{i}': df for i, (_, df) in
enumerate(pd.concat((data['df1'].rename(columns={'Name.':'Name'}),
data['df2'])).groupby('Time'), 1)}
输出:
{'df1': Name Time
0 Greg. 1-10
1 Jeff. 1-10,
'df2': Name Time
1 Greg. 5-10
0 Jeff 5-10}
https://stackoverflow.com/questions/71506991
复制相似问题