在数组中拆分字符串-python

在数组中拆分字符串-python,python,pandas,Python,Pandas,我有一个pandas数据帧,其中包含一个数组变量,该变量当前由两部分字符串组成,如下例所示。第一部分是日期时间,第二部分是价格。数据框中的记录具有不同长度的价格趋势数组 Id Name Color price_trend 1 apple red '1420848000:1.25', '1440201600:1.35', '1443830400:1.52' 60 2 lemon yellow

我有一个pandas数据帧,其中包含一个数组变量,该变量当前由两部分字符串组成,如下例所示。第一部分是日期时间,第二部分是价格。数据框中的记录具有不同长度的价格趋势数组

Id  Name    Color    price_trend                
1   apple   red      '1420848000:1.25', '1440201600:1.35', '1443830400:1.52'                 60
2   lemon   yellow   '1403740800:0.32','1422057600:0.25'
我想将数组中的每个字符串分为冒号(:)周围的两部分,但是当我运行下面的代码时,price_trend中的所有值都替换为nan

df['price_trend'] = df['price_trend'].str.split(':')

我希望将数组保留在此数据帧中,而不是创建一个新的数组。

df['price\u trend']。应用(lambda x:[I.split(':'),用于x中的I])


df['price_trend'].应用(lambda x:[i.split(':')表示x中的i])


我认为下面的代码应该适合您

>>> df={}
>>> df['p']=['1420848000:1.25', '1440201600:1.35', '1443830400:1.52']
>>> df['p']=[ x.split(':') for x in df['p']]
>>> df
{'p': [['1420848000', '1.25'], ['1440201600', '1.35'], ['1443830400', '1.52']]}

我认为下面的代码应该适合您

>>> df={}
>>> df['p']=['1420848000:1.25', '1440201600:1.35', '1443830400:1.52']
>>> df['p']=[ x.split(':') for x in df['p']]
>>> df
{'p': [['1420848000', '1.25'], ['1440201600', '1.35'], ['1443830400', '1.52']]}

我没有使用pandas,但是
split
将返回一个列表,因为您正在将字符串转换为两个数字。两个号码都要吗?这两个应该怎么办?我没有使用pandas,但是
split
将返回一个列表,因为您将字符串转换为两个数字。两个号码都要吗?他们两个该怎么办?