从列的每一行中删除特定值

时间:2021-02-04 17:22:08

标签: pandas dataframe

我正在尝试删除 M1 bis 列中每个数字末尾的 .0。

us_m1.head()

    DATE        M1      M1bis
0   1975-01-06  273.4   273400.0
1   1975-01-13  273.7   273700.0
2   1975-01-20  273.8   273800.0
3   1975-01-27  273.7   273700.0
4   1975-02-03  275.2   275200.0

我试过了,但它没有做任何事情,你知道我怎么做吗?

us_m1['M1bis'].replace(to_replace ='.0',value = 'None',inplace = True)

谢谢

2 个答案:

答案 0 :(得分:1)

us_m1['M1bis'] = us_m1['M1bis'].astype(int) 会将每个更改为 int 并删除值。

答案 1 :(得分:-1)

如果您的 M1bis 列是 float pandasman 类型,解决方案将解决该问题。

如果您的列是字符串类型,则执行以下操作:

us_m1["M1bis"] = us_m1["M1bis"].apply(lambda x: x.replace(".0", "")

.apply 遍历 us_m1["M1bis"] 列中的每个值 lambda x: function(x) 对每个条目 (x) 应用一个函数。 replace(".0", "") 用空字符串替换每个 .0 字符串。