Python Pandas dataframe.replace()
Pandas dataframe.replace()函数用于在Python中从Pandas Dataframe中替换一个字符串,regex,列表,字典,系列,数字等。在对整个DataFrame进行彻底搜索后,所提供数值的每个实例都会被替换。
语法: DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method=’pad’, axis=None)
参数:
- to_replace : [str, regex, list, dict, Series, numeric, or None] 我们试图在数据框架中替换的模式。
- value:用于填充孔的值(例如0),也可以是一个值的dict,指定每一列使用的值(不在dict中的列不会被填充)。也允许使用正则表达式、字符串和列表或此类对象的dict。
- inplace : 如果是真的,就地取材。注意:这将修改此对象上的任何其他视图(例如,来自DataFrame的列)。如果为真,返回调用者。
- limit:向前或向后填充的最大尺寸差距
- regex : 是否将to_replace和/或value解释为正则表达式。如果是True,那么to_replace必须是一个字符串。否则,to_replace必须是None,因为这个参数将被解释为正则表达式或正则表达式的列表、dict或数组。
- method : 替换时使用的方法,当to_replace是一个列表时。
返回:填充:NDFrame
示例:
在这里,我们要用60来代替49.50。
import pandas as pd
df = {
"Array_1": [49.50, 70],
"Array_2": [65.1, 49.50]
}
data = pd.DataFrame(df)
print(data.replace(49.50, 60))
输出:
Array_1 Array_2
0 60.0 65.1
1 70.0 60.0
Pandas dataframe.replace()的使用方法
在这里,我们将看到dataframe.replace()方法的实现。
关于代码中使用的CSV文件的链接,请点击这里
# importing pandas as pd
import pandas as pd
# Making data frame from the csv file
df = pd.read_csv("nba.csv")
# Printing the first 10 rows of the data frame for visualization
df[:10]
输出:
示例 1:
我们将在’df’数据框架中用 “欧米茄勇士 “替换 “波士顿凯尔特人 “队。
# this will replace "Boston Celtics" with "Omega Warrior"
df.replace(to_replace="Boston Celtics",
value="Omega Warrior")
输出:
示例 2:
一次替换一个以上的值。使用python列表作为参数 我们将在’df’数据框架中用 “Omega Warrior “替换球队 “Boston Celtics “和 “Texas”。
# importing pandas as pd
import pandas as pd
# Making data frame from the csv file
df = pd.read_csv("nba.csv")
# this will replace "Boston Celtics" and "Texas" with "Omega Warrior"
df.replace(to_replace=["Boston Celtics", "Texas"],
value="Omega Warrior")
输出:
注意第一行的学院栏,”德克萨斯 “已被替换为 “欧米茄勇士”。
示例 3:
用-99999的值替换数据框中的Nan值。
# importing pandas as pd
import pandas as pd
# Making data frame from the csv file
df = pd.read_csv("nba.csv")
# will replace Nan value in dataframe with value -99999
df.replace(to_replace = np.nan, value =-99999)
输出:
注意数据框中的所有Nan值都被-99999所取代。虽然在实际操作中,我们应该注意用什么值来替换Nan值。