我有一列包含日期范围,我只想将其分别提取到开始日期和结束日期。不确定这是否可以用datetime.strptime
来实现直接
df_have = pd.DataFrame([[1, '01 Jan 2019-04 Jan 2019'], [2, '07 Jan 2019-11 Jan 2019']], columns=['Index', 'Range'])
Index Range
0 1 01 Jan 2019-04 Jan 2019
1 2 07 Jan 2019-11 Jan 2019
df_want = pd.DataFrame([[1, '01 Jan 2019', '04 Jan 2019'], [2, '07 Jan 2019', '11 Jan 2019']], columns=['Index', 'Start', 'End'])
Index Start End
0 1 01 Jan 2019 04 Jan 2019
1 2 07 Jan 2019 11 Jan 2019
谢谢
最佳答案
使用str.split
例如:
import pandas as pd
df_have = pd.DataFrame([[1, '01 Jan 2019-04 Jan 2019'], [2, '07 Jan 2019-11 Jan 2019']], columns=['Index', 'Range'])
df_have[["start", "end"]] = df_have.pop("Range").str.split("-", expand=True) #Thanks @ jezrael
print(df_have)
输出:
Index start end
0 1 01 Jan 2019 04 Jan 2019
1 2 07 Jan 2019 11 Jan 2019
关于python - pandas 从日期范围列中提取开始和结束日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54571559/