python - pandas 从日期范围列中提取开始和结束日期

标签 python pandas

我有一列包含日期范围,我只想将其分别提取到开始日期和结束日期。不确定这是否可以用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/

相关文章:

python - 读取缺少数据的表

python - 通过基于 "_"拆分文本来替换 Pandas 列

python - 在 Lion 上运行 wxPython

python - 在 Python 中创建 n 个字符串

python - 获取 Pandas Dataframe 中每列的最后一个值

python - Pandas 系列在值之间过滤

python - np.hstack() 中的内存错误

python - 从python中的max函数获取有线结果

python-3.x - 计算来自多个数据框列的唯一值

python - 向量化 2 参数 .loc 更新的最快方法是什么?