2014-12-26 132 views
0

我有一个数据帧这是我从一个excel文件加载这样的:数据框中列操纵

df = pd.read_excel(filename, 0, index_col=0, skiprows=0, parse_cols=[0, 8, 9], tz='UTC', 
        parse_dates=True) 

我做的列名的一些简单的改变只是为了我自己的可读性:

df.columns = ['Ticker', 'Price'] 

的在股票列中的数据看起来像:

AAV. 
AAV. 
AAV.UN 
AAV.UN 

我试图删除从结束在没有其他字母后面的字母。

我知道我可以使用类似:

df['Ticker'].str.rstrip('.') 

但是,这并不工作,有一些其他的方式做我需要什么?我认为我的问题是该方法是针对一系列而非一列值。我尝试申请,似乎无法让工作。

有什么建议吗?

回答

0

您可以使用地图()像这样

df['Ticker'] = df['Ticker'].map(lambda x : x[:-1] if x.endswith('.') else x) 


    Ticker 
0 AAV 
1 AAV 
2 AAV.UN 
3 AAV.UN 
+0

感谢鲍勃,一个可行的拉姆达。 – Tom