【发布时间】: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
我想在 Pandas 数据框中将值从一列剥离并分离到另一列。目前的价值观是这样的
df['column']
14.535.00
14.535.00
14.535.00
我想在第二个点(。)之后删除 00 并将它们存储在另一列中 df['new_column'] 作为 int 值,以便我可以执行算术运算
【问题讨论】:
标签: python python-3.x pandas
编辑 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])
应该得到你想要的结果
【讨论】: