gpt4 book ai didi

python - 遍历 Pandas DataFrame 中的行并生成新列

转载 作者:行者123 更新时间:2023-12-02 16:12:10 25 4
gpt4 key购买 nike

我有一个 DataFrame,其中有一列名为 cardinality,每一行都有一个 n 数字列表。我想遍历每一行,从列表中取出第一个元素,并将其放入一个新列中,这样我就有了 n 列。

输入:

input_data = pd.DataFrame({'cardinality':[[0,1,0,0,0],[1,0,1,0,0],[0,0,1,3,0],[0,0,0,1,1]]})

期望的输出:

c_0  c_1  c_2  c_3  c_4
0 1 0 0 0
1 0 1 0 0
0 0 1 3 0
0 0 0 1 1

这是我的代码:

iterator = 0
for row in input_data.itertuples():
for cardinality in input_data['cardinality']:
col_name = 'c_' + str(iterator)
input_data[col_name] = [item[0] for item in input_data['cardinality']]
input_data['cardinality'] = input_data['cardinality'].apply(lambda x: x.pop(0))
iterator += 1

.pop 方法似乎不是从列表中删除第一项的正确方法。

最佳答案

您可以在系列上使用 tolist 并创建一个新的数据框,然后 add_prefx 将其命名为预期的。

output = pd.DataFrame(input_data['cardinality'].tolist()).add_prefix('c_')
print(output)
c_0 c_1 c_2 c_3 c_4
0 0 1 0 0 0
1 1 0 1 0 0
2 0 0 1 3 0
3 0 0 0 1 1

关于python - 遍历 Pandas DataFrame 中的行并生成新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67690021/

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