📌  相关文章
📜  替换单元格 pandas - Python (1)

📅  最后修改于: 2023-12-03 15:10:34.052000             🧑  作者: Mango

替换单元格 pandas - Python

在数据分析或机器学习任务中,我们经常需要对数据集中某些单元格的值进行修改或替换。Pandas 是 Python 中一个常用的数据分析库,它提供了许多处理数据的方法,其中就包括替换单元格的功能。

替换单元格的方法
1. replace() 方法

replace() 方法可以用来替换数据集中的某些值。它的语法如下:

DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad')

参数说明:

  • to_replace:待替换的值,可以是列表、字典、正则表达式等;
  • value:替换后的值;
  • inplace:是否在原数据集上进行替换,默认为 False;
  • limit:指定每列替换的个数,如果不指定则全部替换;
  • regex:是否启用正则表达式进行匹配;
  • method:当 to_replace 为列表时,指定替换的策略。“pad”表示向前填充,例如将 NaN 替换为前一个值;“ffill”、“bfill” 分别表示向前、向后填充。

下面是一个例子:

import pandas as pd

data = {'name': ['Tom', 'John', 'Mary'], 'age': [25, 30, 27], 'city': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)

df.replace({'New York': 'NY', 'London': 'LDN'}, inplace=True)

print(df)

输出:

   name  age  city
0   Tom   25    NY
1  John   30   LDN
2  Mary   27  Paris

该例子中,我们使用了 replace() 方法将数据集中的 'New York' 替换成 'NY',将 'London' 替换成 'LDN'。

2. loc[] 方法

loc[] 方法可以用来选择某些单元格,并用新的值进行替换。它的语法如下:

DataFrame.loc[row_indexer,column_indexer] = value

参数说明:

  • row_indexer:行索引器,可以是行标签、切片、布尔数组等;
  • column_indexer:列索引器,可以是列标签、切片、布尔数组等;
  • value:替换后的值。

下面是一个例子:

import pandas as pd

data = {'name': ['Tom', 'John', 'Mary'], 'age': [25, 30, 27], 'city': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)

df.loc[0, 'city'] = 'NY'

print(df)

输出:

   name  age    city
0   Tom   25      NY
1  John   30  London
2  Mary   27   Paris

该例子中,我们使用了 loc[] 方法选择了数据集中第一行第三列的单元格,并将其替换为 'NY'。

总结

以上就是替换单元格的两种常用方法。使用这些方法,可以方便地操作数据集中的某些单元格,并按需进行替换。