gpt4 book ai didi

python - 如何有效地将元组同时应用于 Pandas 数据框中的多个列

转载 作者:行者123 更新时间:2023-11-28 20:36:50 26 4
gpt4 key购买 nike

我可以让它工作

df['col_A'] = df.apply(lambda x: getSingleValue(x['col_X']), axis=1)

还有当我的函数返回元组时

df['col_A'] = df.apply(lambda x: getaTuple(x['col_X'])[0], axis=1)
df['col_B'] = df.apply(lambda x: getaTuple(x['col_X'])[1], axis=1)

但是,我需要知道是否有办法应用元组输出 getaTuple()使用单个函数调用而不是调用 getaTuple 到数据框的多个列我为每一列多次设置值。

这里是输入输出的例子

df = pd.DataFrame(["testString_1", "testString_2", "testString_3"], columns=['column_X'])

def getaTuple(string):
return tuple(string.split("_"))

In [3]: iwantthis
Out[3]:
col_X col_A col_B
0 testString_1 testString 1
1 testString_2 testString 2
2 testString_3 testString 3

仅供引用,这类似于 how to apply a function to multiple columns in a pandas dataframe at one time但不重复,因为我需要通过 col_X作为我函数的输入。

最佳答案

如果我正确理解你的问题,这应该有效:

df[['col_A','col_B']] = df['col_X'].apply(getaTuple).apply(pd.Series)

关于python - 如何有效地将元组同时应用于 Pandas 数据框中的多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44269926/

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