【发布时间】:2021-07-31 16:02:32
【问题描述】:
我继承了这段代码
dummy_data1 = {
'id': ['1', '2', '3', '4', '5'],
'Feature1': ['A', 'C', 'E', 'G', 'I'],
'Feature2': ['Mouse', 'dog', 'house and parrot', '23', np.NaN],
'dates': ['12/12/2020','12/12/2020','12/12/2020','12/12/2020','12/12/2020']}
df1 = pd.DataFrame(dummy_data1, columns = ['id', 'Feature1', 'Feature2', 'dates'])
df1 = df1.assign(
Feature2=lambda df: df.Feature2.where(
~df.Feature2.str.isnumeric(),
pd.to_numeric(df.Feature2, errors="coerce").astype("Int64"),
)
)
print(df1)
我知道这是因为 np.NAN 值。代码有什么作用?我的理解是,如果它是整数类型,它会尝试将字符串转换为 Int。另外请告诉我如何克服这个问题。
【问题讨论】:
-
根据您的需要用
fillna()填充那些 NaN 为 True 或 False
标签: python-3.x pandas