gpt4 book ai didi

python - 无法评估空值的列

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

我已经阅读了 20 多个与此相关的话题,但仍然一无所获(没有双关语意)。

我有一个 pandas 数据框 df_s,它有一列包含位于 iloc[:,8] 的日期。我正在尝试根据另一列中是否有值向数据框添加一个新列,该列具有一个值(是/否)。

这是我一直在尝试的:

CDRFormUp = []
for row in df_s.iloc[:,8]:
if row=="":
CDRFormUp.append('No')
else:
CDRFormUp.append('Yes')
df_s['CDR Form Up'] = CDRFormUp

CDRFormUp 将成为新列。我正在运行数据框中的每一行,并检查列中的值是否为任何值。

我试过...

if row <>"":
if row == "":
if row is None:
if row:
if row>0:

没有任何效果。该列包含日期和空单元格和文本。比如这一列第一行的值为“CDF Form”,第二行为空,第三行为“4865”之类的。

如果我将 iloc 设置为仅包含国家/地区名称的不同列,并将条件设置为“国家/地区 =“意大利”,它会正确地将"is"或“否”添加到每一行的新列中。 .所以这不是错误的 iloc 或其他东西。

任何帮助将不胜感激。谢谢!

最佳答案

您需要将 np.where 与 Pandas 数据框一起使用。

df_s = pd.DataFrame(np.random.randint(1,10,(5,10)))

df_s.iloc[1,8] = ''

df_s.iloc[3,8] = np.nan

df_s['CDRFormUp'] = np.where(df_s.iloc[:,8].mask(df_s.iloc[:,8].str.len()==0).isnull(),'Yes','No')

print(df_s)

输出:

   0  1  2  3  4  5  6  7    8  9 CDRFormUp
0 6 5 5 5 9 3 3 5 3 9 No
1 5 4 7 3 9 6 8 9 9 Yes
2 5 2 2 7 7 6 3 2 5 2 No
3 8 2 1 9 7 3 7 8 NaN 8 Yes
4 4 4 1 5 3 5 9 4 4 9 No

关于python - 无法评估空值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45515587/

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