gpt4 book ai didi

python - 是否可以在一条指令中更改所有行值?

转载 作者:太空宇宙 更新时间:2023-11-04 08:26:59 25 4
gpt4 key购买 nike

我有一个 Pandas 数据框:

df = pd.read_csv("PastHires.csv") 

我有一个包含 Y/N 值的“已雇用”列。我想让它们为 1 或 0 来绘制它们。是否有可能实现这样的目标?

df['Hired'] = 1 if df['Hired'] is 'Y' else 0

此刻它把 0 放到所有行 :(

编辑:根据 0x2bad answer 修复:

dist = df[['Previous employers','Hired']][4:10]
dist['Hired'] = 1 if dist['Hired'] == 'Y' else 0

但抛出“系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。”

最佳答案

使用numpy.where :

df['Hired'] = pd.np.where(df.Hired == 'Y', 1, 0)

pandas.Series.map :

df['Hired'] = df.Hired.map({'Y': 1, 'N', 0})

效率较低,但可以处理两种以上的情况。

请注意,这些比在 1000 多行上应用要快。

关于python - 是否可以在一条指令中更改所有行值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56201228/

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