【发布时间】:2021-03-11 11:55:29
【问题描述】:
我有一个数据框,其中包含(例如)不同产品的发票明智价格调整值。
例如:
df = pd.DataFrame({'col1': ['A','A','B','B','C','C','A','A','A','A'],
'sum' : [10,-10,10,10,0,-10,-10,0,10,0]})
我需要创建一个汇总表,例如在 for col1 = 'A':
Count Value
Positve
Negative
NIL
到目前为止,我正在这样做:
result = pd.DataFrame(columns=['Count','Value'],index=['Positve','Negative','NIL'])
result.iloc[0,0] = df[(df['col1'] = 'A') & (df['sum'] > 0)]['sum'].count()
result.iloc[0,1] = df[(df['col1'] = 'A') & (df['sum'] > 0)]['sum'].sum()
result.iloc[1,0] = df[(df['col1'] = 'A') & (df['sum'] < 0)]['sum'].count()
result.iloc[1,1] = df[(df['col1'] = 'A') & (df['sum'] < 0)]['sum'].sum()
result.iloc[2,0] = df[(df['col1'] = 'A') & (df['sum'] == 0)]['sum'].count()
result.iloc[2,1] = df[(df['col1'] = 'A') & (df['sum'] == 0)]['sum'].sum()
有没有更好更快的方法来代替为汇总表中的每个值编写一行代码?我想不出这里有什么。
【问题讨论】:
标签: python-3.x pandas dataframe summary