gpt4 book ai didi

python-3.x - 将具有相同ID的行拆分为不同的列python

转载 作者:行者123 更新时间:2023-12-03 10:05:23 26 4
gpt4 key购买 nike

我想要一个具有相同 ID 号的重复值的数据框。但我想将重复的行拆分成列。

data = [[10450015,4.4],[16690019  4.1],[16690019,4.0],[16510069  3.7]]
df = pd.DataFrame(data, columns = ['id', 'k'])
print(df)

生成的数据框将有 n_k(n = id 行的重复值)。重复的 id 得到一个单独的列,当它没有重复的 id 时,它在新的列中得到一个 0。

data_merged = {'id':[10450015,16690019,16510069], '1_k':[4.4,4.1,3.7], '2_k'[0,4.0,0]}
print(data_merged)

最佳答案

尝试使用 DataFrame.assign 分配列 idx ref和 groupby.cumcount然后 DataFrame.pivot_table .最后使用列表理解对列名进行排序:

df_new = (df.assign(col=df.groupby('id').cumcount().add(1))
.pivot_table(index='id', columns='col', values='k', fill_value=0))

df_new.columns = [f"{x}_k" for x in df_new.columns]

print(df_new)

1_k 2_k
id
10450015 4.4 0
16510069 3.7 0
16690019 4.1 4

关于python-3.x - 将具有相同ID的行拆分为不同的列python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55713543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com