python - 不是 Python 3 和 Pandas 的 NaN 条件语句

标签 python python-3.x pandas

我正在尝试通过计算现有列的值在 Pandas 数据框中创建一个新列。

我有 3 个现有列(“launched_date”、“item_published_at”、“item_created_at”)

但是,我的“if row[column_name] is not None:”语句允许具有 NaN 值的列并且不会跳到下一个语句。

在下面的代码中,我不希望在第一个条件之后打印“nan”的值,我希望像“2018-08-17”这样的东西

df['adjusted_date'] = df.apply(lambda row: adjusted_date(row), axis=1)



def adjusted_launch(row): 
    if row['launched_date']is not None:
        print(row['launched_date'])
        exit()
        adjusted_date = date_to_time_in_timezone(row['launched_date']) 

    elif row['item_published_at'] is not None:
        adjusted_date = row['item_published_at']#make datetime in PST
    else:
        adjusted_date = row['item_created_at'] #make datetime in PST
    return adjusted_date

如何正确构造此条件语句?

最佳答案

先在数据为空的地方填入“nan”为字符串

df.fillna("nan",inplace=True)

然后在函数中你可以应用 if 条件如下:

def adjusted_launch(row): 
    if row['launched_date'] !='nan':
......

第二个太阳

import numpy as np
df.fillna(np.nan,inplace=True)

#suggested by  @ShadowRanger
def funct(row):
    if row['col'].notnull():
        pass

关于python - 不是 Python 3 和 Pandas 的 NaN 条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57044240/

相关文章:

python - 创建 word2vec 模型 syn1neg.npy 扩展

python - Pandas 按位置覆盖列名

python - 填充等高线图中等高线的光栅化

python - 使用 Apache NiFi 解密基于 RSA 的加密

python - 在 Python 中使用 functools.partial 重构 lambda 函数

Python创建普通数组的多维数组

python - 向左折叠值,Python/Pandas

python - 在自定义分隔符上拆分字符串列替换相邻的 NaN

python - 遍历python中具有相同索引位置的多个列表

python - 如何生成没有UI的locust html文件?