Skip to main content
 首页 » 编程设计

Python, Pandas 将列一分为二

2025年05月04日16duanxz

我有一个包含多列的数据框,其中一列是日期列。目前该列中的数据采用以下形式:02/01/2012 9:30

但是我想将它分成两个单独的列,日期:02/01/2012 和时间:9:30

我找到了以下解决方案:

df = pd.DataFrame(df.date.str.split(' ',1).tolist(), columns = ['date','time']) 

然而,这会创建一个新的数据框,其中仅包含两个新的拆分列,而不包含其他列。

有没有办法在不创建新数据框的情况下拆分现有数据框的列?

解决这个问题的计算效率最高的方法是什么? (我正在处理的数据集包含大约 2000 万行)

请您参考如下方法:

试试这个:

df[['date','time']] = df.pop('date').str.split(expand=True) 

演示

In [274]: df 
Out[274]: 
              date 
0  02/01/2012 9:30 
1  02/01/2012 9:30 
2  02/01/2012 9:30 
 
In [275]: df[['date','time']] = df.pop('date').str.split(expand=True) 
 
In [276]: df 
Out[276]: 
         date  time 
0  02/01/2012  9:30 
1  02/01/2012  9:30 
2  02/01/2012  9:30