我有一个数据集
tradeid buyer seller quantity
1 John Mark 10
2 Frank John 5
3 John Jesse 4
基本上每一行都对应于买卖双方的交易。例如,在第一行,我们看到约翰(买方)从马克(卖方)那里购买了10批货物。你知道吗
我想转换数据集的方式是,每一行对应一个交易者,并且我有这个交易者相应的总买卖量。就是这样
output
trader totalbuy totalsell
John 14 5
Frank 5 0
Jesse 0 4
Mark 0 10
我用的是熊猫的最新版本,数据量很大。进行上述转换最有效的方法是什么?你知道吗
非常感谢!!你知道吗
数据帧:
import pandas as pd
from io import StringIO
datastring = StringIO("""\
tradeid buyer seller quantity
1 John Mark 10
2 Frank John 5
3 John Jesse 4
""")
df = pd.read_table(datastring, sep='\s\s+', engine='python')
您可以使用melt:
您可以执行几个
groupby
-sum
,然后执行水平concat
:相关问题 更多 >
编程相关推荐