Pandas - 根据列中的值组连接行

问题描述 投票:0回答:1

我有一个像这样的数据框(摘要版本),有 14 列:

df = pd.DataFrame({'Date':[01/10/2020,02/10/2020], 'Ticker': [AAPL,APPL], 
                   'Transaction':[Dividend,Tax], 'Value':[10,1]})

表格格式:

日期 股票代码 交易 价值
2020年1月10日 AAPL 股息 10
2020年1月10日 AAPL 1

我希望能够将税行与股息行附加在一起,只要日期和股票代码完全相同。原因是我希望最终得到一行包含股息 = 10、税金 = 1、净值 = 9。

我尝试分成两个数据帧,然后通过双索引连接,但没有完全得到我想要的结果。

我倾向于使用 Alteryx,因此在 Alteryx 中,我会加入日期和股票代码的唯一键,然后删除重复的列,然后用相同的名称重命名列。

建议?

预期输出:

日期 股票代码 交易 价值股息 增值税
2020年1月10日 AAPL 股息和税 10 1
python pandas dataframe concatenation
1个回答
1
投票

如果我理解正确的话,您正在寻找

pivot_table()

pd.pivot_table(
    df,
    index = ['Date', 'Ticker'],
    values = 'Value',
    columns = 'Transaction'
)
© www.soinside.com 2019 - 2024. All rights reserved.