繁体   English   中英

如何使用新列拆分和替换数据框中的列

[英]How to split and replace column in dataframe with new columns

我有一个数据框,如下所示:

import pandas as pd
dic = {'title':['A', 'B', 'C'], 'Date':['1/1/2010 to 2/1/2010', '3/1/2010 to 
                 4/1/2010', '5/1/2010 to 6/1/2010'], 'Value':[1.0, 2.2, 3.3]}
df = pd.DataFrame(dic)

DataFrame如下:

df
   title                  Date  Value 
0      A  1/1/2010 to 2/1/2010    1.0 
1      B  3/1/2010 to 4/1/2010    2.2 
2      C  5/1/2010 to 6/1/2010    3.3 

我想将整个Date列拆分为类似Start_DateEnd_Date ,如下所示:

   title  Start_Date  End_Date  Value 
0      A    1/1/2010  2/1/2010    1.0 
1      B    3/1/2010  4/1/2010    2.2 
2      C    5/1/2010  6/1/2010    3.3 

有什么想法吗?

通过使用str split

df[['StartDate','EndDate']]=df.Date.str.split(' to ',expand=True)
df
Out[36]: 
                   Date  Value title StartDate   EndDate
0  1/1/2010 to 2/1/2010    1.0     A  1/1/2010  2/1/2010
1  3/1/2010 to 4/1/2010    2.2     B  3/1/2010  4/1/2010
2  5/1/2010 to 6/1/2010    3.3     C  5/1/2010  6/1/2010

我使用列表推导拆分列。.但是现在我看到,如果在“日期”字段中有不同数量的字符,此答案将失败。 像上面的答案一样,在“ to”上拆分会更好。

df['Start Date'] = [d[0:9] for d in df.Date]
df['End Date'] = [d[11:] for d in df.Date]

    Date                    Value title Start Date  End Date
0   1/1/2010 to 2/1/2010    1.0     A   1/1/2010    2/1/2010
1   3/1/2010 to 4/1/2010    2.2     B   3/1/2010    4/1/2010
2   5/1/2010 to 6/1/2010    3.3     C   5/1/2010    6/1/2010
df[['start','end']] = pd.DataFrame(df.Date.str.split('to ').tolist())

您必须将日期列拆分to

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM