pandas中dataframe中元素替换操作

在Pandas中,DataFrame的替换操作可以通过多种方式实现,具体取决于你想要替换的内容和方式。以下是一些常用的替换方法:

1.replace操作替换

replace可以替换固定值为指定值,和python字符串替换方法一一致

import pandas as pd
df1 = pd.DataFrame({'fruit':['apple','banana','orange','apple','banana'],
                    'color':['red','yellow','yellow','cyan','cyan'],
                   'price':[8.5,6.8,5.6,7.8,6.4]})

# print(df1.groupby('fruit'))
print(df1)
# 替换操作一
df1["fruit"] = df1["fruit"].replace("apple","苹果")
print(df1)

输出结果如下

    fruit   color  price
0   apple     red    8.5
1  banana  yellow    6.8
2  orange  yellow    5.6
3   apple    cyan    7.8
4  banana    cyan    6.4
    fruit   color  price
0      苹果     red    8.5
1  banana  yellow    6.8
2  orange  yellow    5.6
3      苹果    cyan    7.8
4  banana    cyan    6.4

1.1 替换多个值

df1["fruit"] = df1["fruit"].replace({"apple":"苹果","banana":"香蕉","orange":"橙子"})

2.使用map()方法

map()方法可以用来对DataFrame的每个元素应用一个函数,从而实现更复杂的替换逻辑。

"""
@Time    : 2025/5/26 15:04
@Author  : white.tie
@File    : 01aggregation.py
@Desc    : 数据聚合
"""
import pandas as pd
df1 = pd.DataFrame({'fruit':['apple','banana','orange','apple','banana'],
                    'color':['red','yellow','yellow','cyan','cyan'],
                   'price':[8.5,6.8,5.6,7.8,6.4]})

# print(df1.groupby('fruit'))
print(df1)
# 替换操作一
# df1["fruit"] = df1["fruit"].replace("apple","苹果")
# df1["fruit"] = df1["fruit"].replace({"apple":"苹果","banana":"香蕉","orange":"橙子"})
# print(df1)
# 替换操作二
df1["fruit"] = df1["fruit"].map({"apple": "苹果"})
print(df1)

输出结果如下所示

    fruit   color  price
0   apple     red    8.5
1  banana  yellow    6.8
2  orange  yellow    5.6
3   apple    cyan    7.8
4  banana    cyan    6.4
  fruit   color  price
0    苹果     red    8.5
1   NaN  yellow    6.8
2   NaN  yellow    5.6
3    苹果    cyan    7.8
4   NaN    cyan    6.4

3. 使用applymap()方法

applymap()方法对DataFrame中的每个元素应用一个函数,适用于简单的单个值替换。

df1 = df1.applymap(lambda x: "苹果" if x == "apple" else x)
print(df1)

输出结果如下

    fruit   color  price
0      苹果     red    8.5
1  banana  yellow    6.8
2  orange  yellow    5.6
3      苹果    cyan    7.8
4  banana    cyan    6.4

 

4. 使用apply方法

apply里面执行函数替换

# 替换操作二
df1["fruit"] = df1["fruit"].apply(lambda x: x.replace("apple","苹果"))

5.loc或者iloc方式替换

  • loc:

    • 接收的是行、列的名称或标签

    • 在切片是按闭区间切片,也就是区间两边都能取到。

  • iloc:

    • 接收的是行、列的索引位置(下标,从0开始)。

    • 按传统的左闭右开的的方式切片。

df1.loc[df1['fruit'] == "apple", 'fruit'] = "苹果"
print(df1)

输出结果如下

    fruit   color  price
0      苹果     red    8.5
1  banana  yellow    6.8
2  orange  yellow    5.6
3      苹果    cyan    7.8
4  banana    cyan    6.4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值