我用熊猫在python中旋转数据集。在应用枢轴之后,熊猫中有什么功能可以限制基于枢轴列的行数吗?例如,我有这样一个数据集:
col1, col2, col3
A, 100, X
A, 200, Y
A, 300, Z
B, 500, X
B, 600, Y
B, 700, Z在支点被应用到wrt col3之后,让我们假设dataset变成这样:
col1, col2
A 600
col3, col2
X 100
Y 200
Z 300
B 1800
col3, col2
X 500
Y 600
Z 700现在,我希望限制每个col1值的col1值,例如,每col1 2行,如下所示:
col1, col2
A 600
col3, col2
X 100
Y 200
B 1800
col3, col2
X 500
Y 600这对熊猫来说有可能吗?
发布于 2020-05-26 09:21:40
“熊猫”不会为你做我想做的布局。这段代码将把你带到你需要的地方。
df2 = pd.pivot_table(df, values='col2', index=['col1','col3'], aggfunc='sum').reset_index()
df3 = df2.groupby('col1')['col2'].sum().reset_index()
new_df = (pd.concat([df2, df3], keys=['col1','col2'], axis=0, ignore_index=True)
.fillna('A').sort_values(['col1','col3'], ascending=[True, True]))
new_df = new_df.groupby('col1').apply(lambda x: x[:-1])
new_df.set_index(['col1','col3'], drop=True)
col2
col1 col3
A A 600
X 100
Y 200
B A 1800
X 500
Y 600https://stackoverflow.com/questions/62017391
复制相似问题