如何在使用str.split时停止获取NaN值?



我如何在列返回NaN中使用str.split和停止值?我正在查看一列,并试图将多个日期分成多行,这是很好的工作,然而,行没有多个日期返回NaN,但我希望这些不受影响。请参见代码前的下表:

tbody> <<tr>
事件日期
2020-07-16
31/03/2022、26/11/2018 31/01/2028

您的代码运行良好:

>>> pd.to_datetime(df['Event Date'].str.split(', ').explode(), dayfirst=True)
0   2020-07-16
1   2022-03-31
1   2018-11-26
1   2028-01-31
Name: Event Date, dtype: datetime64[ns]

您的代码可以正常工作。

import pandas as pd
df = pd.DataFrame(data={'Event Date':['2020-07-16',"31/03/2022, 26/11/2018, 31/01/2028"]})
df

在搜索结果

Event Date
0   2020-07-16
1   31/03/2022, 26/11/2018, 31/01/2028

之后
df["Event Date"] = df["Event Date"].str.replace(' ', '')
df["Event Date"] = df["Event Date"].str.split(",")
df= df.explode("Event Date")
pd.to_datetime(df['Event Date'], dayfirst=True, errors='coerce')

生成的pd。系列是

0   2020-07-16
1   2022-03-31
1   2018-11-26
1   2028-01-31
Name: Event Date, dtype: datetime64[ns]

最新更新