【问题标题】:DataFrame Column Manipulation [duplicate]DataFrame列操作[重复]
【发布时间】:2014-12-27 05:03:29
【问题描述】:

我有一个从 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']

ticker 列中的数据如下所示:

AAV.
AAV.
AAV.UN
AAV.UN

当后面没有其他字母时,我正在尝试删除字母末尾的句点。

我知道我可以使用类似的东西:

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

但这不起作用,还有其他方法可以做我需要的吗?我认为我的问题是该方法适用于一系列而不是一列值。我尝试过申请,但似乎也无法让它发挥作用。

有什么建议吗?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    你使用 map() 和这样的 lambda

    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
    

    【讨论】:

    • 谢谢鲍勃,这行得通。
    猜你喜欢
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    相关资源
    最近更新 更多