gpt4 book ai didi

python - 如何根据数据帧值生成新的Python数据帧系列

转载 作者:行者123 更新时间:2023-12-01 00:44:46 25 4
gpt4 key购买 nike

我有一个由下面的脚本生成的数据框 - 引入数据框“数据”。

理想情况下,我想生成一个新的数据帧,它结合了 id 和 1 : 值的序列。

d = {'id': ['a', 'b','c'], 'value': [1, 2,1]}
data = pd.DataFrame(data=d)
data

这意味着理想的输出是:

|------|---------|
| ID | value |
|------|---------|
| a | 1 |
| b | 1 |
| b | 2 |
| c | 1 |
|------|---------|

最佳答案

使用Index.repeat按列 value 并按计数器重新分配值 GroupBy.cumcount :

#if not default RangeIndex
#data = data.reset_index(drop=True)
df = data.loc[data.index.repeat(data['value'])]
df['value'] = df.groupby(level=0).cumcount() + 1
df = df.reset_index(drop=True)
print (df)
id value
0 a 1
1 b 1
2 b 2
3 c 1

替代解决方案 DataFrame.assign :

df = (data.loc[data.index.repeat(data['value'])]
.assign(value=lambda x: x.groupby(level=0).cumcount() + 1)
.reset_index(drop=True))

关于python - 如何根据数据帧值生成新的Python数据帧系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57075168/

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