gpt4 book ai didi

python - 在其他两列 pandas 的条件下创建一个新列

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:57 25 4
gpt4 key购买 nike

我有一个包含两列的数据框。我想创建一个新列并输入具有最长字符串的列。所以

        column_a        column_b             column_c

0 'dog is fast' 'dog is faster' 'dog is faster' (desired output)

我试过这段代码,但得到一个错误,指出 int 不可迭代,我正在考虑将之后的系列合并到 df。我不确定如何立即将其实现到 df 的列中。

column_c = pd.Series()

for i in len(df.column_a):
if len(df.column_a.iloc[i]) >= len(df.column_b.iloc[0]):
column_c.append(df.column_a.iloc[i])
else:
column_c.append(df.column_b.iloc[i])

感谢任何帮助。

最佳答案

使用pandas.DataFrame.apply:

给定样本数据

import pandas as pd

df = pd.DataFrame([['fast', 'faster'], ['slower', 'slow']])
0 1
0 fast faster
1 slower slow

df['column_c'] = df.apply(lambda x:max(x, key=len), 1)

输出:

        0       1 column_c
0 fast faster faster
1 slower slow slower

关于python - 在其他两列 pandas 的条件下创建一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55409657/

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