对熊猫DataFrame中的列进行.str.split()操作后,获取最后一个“列”
问题内容:
我在pandas DataFrame中有一列想要在一个空格上拆分。使用进行拆分非常简单DataFrame.str.split(' ')
,但是我无法从最后一个条目中创建新列。当我.str.split()
进入列时,我得到了一个数组列表,但我不知道如何操纵它来为我的DataFrame获取新列。
这是一个例子。列中的每个条目都包含“符号数据价格”,我想将价格分开(并在一半情况下最终删除“ p” …或“ c”)。
import pandas as pd
temp = pd.DataFrame({'ticker' : ['spx 5/25/2001 p500', 'spx 5/25/2001 p600', 'spx 5/25/2001 p700']})
temp2 = temp.ticker.str.split(' ')
产生
0 ['spx', '5/25/2001', 'p500']
1 ['spx', '5/25/2001', 'p600']
2 ['spx', '5/25/2001', 'p700']
但是temp2[0]
只给出一个列表项的数组temp2[:][-1]
就会失败。如何将每个数组中的最后一个条目转换为新列?谢谢!
问题答案:
做这个:
In [43]: temp2.str[-1]
Out[43]:
0 p500
1 p600
2 p700
Name: ticker
因此,总计为:
>>> temp = pd.DataFrame({'ticker' : ['spx 5/25/2001 p500', 'spx 5/25/2001 p600', 'spx 5/25/2001 p700']})
>>> temp['ticker'].str.split(' ').str[-1]
0 p500
1 p600
2 p700
Name: ticker, dtype: object