gpt4 book ai didi

python - Pandas Dataframe 添加带有 lambda 函数的列

转载 作者:行者123 更新时间:2023-12-04 03:51:24 25 4
gpt4 key购买 nike

我正在尝试使用两个大写字母的随机生成代码向我的 Pandas Dataframe 添加一列。对于随机代码生成,我编写了一个函数,但是当我将它添加到数据帧时,它只给我 NaN 作为结果。知道如何解决这个问题吗?

import pandas as pd
import random
import string

def generateCode():
return random.choice(string.ascii_uppercase) + random.choice(string.ascii_uppercase)

cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
'Price': [22000,25000,27000,35000]
}
df = pd.DataFrame(cars, columns = ['Brand', 'Price'])

df['Code'] = df.apply(lambda x: generateCode())

print(df)
给出输出:
            Brand  Price Code
0 Honda Civic 22000 NaN
1 Toyota Corolla 25000 NaN
2 Ford Focus 27000 NaN
3 Audi A4 35000 NaN
感谢任何帮助!

最佳答案

使用 Series.apply 处理每个值:

df['Code'] = df['Brand'].apply(lambda x: generateCode())

print(df)
Brand Price Code
0 Honda Civic 22000 AY
1 Toyota Corolla 25000 EN
2 Ford Focus 27000 VN
3 Audi A4 35000 ZZ
DataFrame.apply axis=1每行处理:
df['Code'] = df.apply(lambda x: generateCode(), axis=1)

print(df)
Brand Price Code
0 Honda Civic 22000 AY
1 Toyota Corolla 25000 EN
2 Ford Focus 27000 VN
3 Audi A4 35000 ZZ

关于python - Pandas Dataframe 添加带有 lambda 函数的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64385542/

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