【问题标题】:How to Strip and Separate values from column in Pandas Dataframe to int values如何从 Pandas Dataframe 中的列中剥离和分离值到 int 值
【发布时间】:2019-02-26 01:25:52
【问题描述】:

我想在 Pandas 数据框中将值从一列剥离并分离到另一列。目前的价值观是这样的

df['column']

14.535.00
14.535.00
14.535.00

我想在第二个点(。)之后删除 00 并将它们存储在另一列中 df['new_column'] 作为 int 值,以便我可以执行算术运算

【问题讨论】:

    标签: python python-3.x pandas


    【解决方案1】:

    编辑 1:似乎 apply 总是很糟糕,似乎更可接受的解决方案是使用列表推导。

    df['new_column'] = [str(x).split('.')[-1] for x in df.iloc[:,0]]
    

    不要做下面的事情

    我认为这是使用 apply 的一个很好的例子。您可能不需要 str 调用。

    这样做的目的是获取列(又名系列)中的值并将函数应用于它们。该函数获取每个项目,使其成为一个字符串,在句点上拆分,并获取最后一个值。然后我们将所有这些结果存储到一个新列中。

    df['new_column'] = df['column'].iloc[:,0].apply(lambda x: str(x).split('.')[-1])
    

    应该得到你想要的结果

    【讨论】:

    • 谢谢!我不熟悉如何在没有应用的情况下执行此操作,但听起来应该有办法?
    • 由于这是字符串数据,您可以查看“字符串/正则表达式”子标题下的一些列表理解示例。
    • 这不起作用,看起来更像是从其他列获取数据,因为我得到了完全意外的输出。
    • @AbhinavKumar 是否将 0 替换为 preppier 列索引?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 2017-08-06
    • 2021-03-18
    • 2012-11-07
    • 2017-02-12
    相关资源
    最近更新 更多