gpt4 book ai didi

python - 使用 For 循环参数在 Pandas Dataframe 上应用 Zip 函数

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

我有一个名为句柄文本的函数,它可以重命名数据帧列中的值:

def handle_text(txt):
if txt.lower()[:6] == 'deu_ga':
return 'Western Europe', 'Germany'
elif txt.lower()[:6] == 'fra_ga':
return 'Western Europe', 'France'
return 'Other', 'Other'

我通过以下方式在各种数据帧上应用handle_text:

campaigns_df['Region'], campaigns_df['Market']  = zip(*campaigns_df['Campaign Name'].apply(handle_text))

atlas_df['Region'], atlas_df['Market'] = zip(*atlas_df['Campaign Name'].apply(handle_text))

flashtalking_df['Region'], flashtalking_df['Market'] = zip(*flashtalking_df['Campaign Name'].apply(handle_text))

我想知道是否有一种方法可以执行 for 循环以立即将函数应用于各种 dfs:

dataframes = [atlas_df, flashtalking_df, innovid_df, ias_viewability_df, ias_fraud_df]
columns_df = ['Campaign Name']

for df in dataframes:
for column in df.columns:
if column in columns_df:
zip(df.column.apply(handle_text))

但是我得到的错误是:

AttributeError: 'DataFrame' object has no attribute 'column'

最佳答案

我成功地解决了这个问题:

dataframes = [atlas_df, flashtalking_df, innovid_df, ias_viewability_df, ias_fraud_df, mediaplan_df]
columns_df = 'Campaign Name'

for df in dataframes:
df['Region'], df['Market'] = zip(*df[columns_df].apply(handle_text))

关于python - 使用 For 循环参数在 Pandas Dataframe 上应用 Zip 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42973256/

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