Python Pandas Series.str.translate()
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas str.translate()是最重要和复杂的字符串方法之一。它使用一个翻译表,根据翻译表来翻译调用者的一系列字符串。如果有一个以上的值需要翻译,则将一个字典传递给maketrans函数以创建一个翻译表。
语法: Series.str.translate(table, deletechars=None)
参数:
table: 由Python3的字典和Python2的列表组成的翻译表。
deletechars:字符串类型,要删除的字符。这个参数只在Python2中正常工作(直到pandas v0.23)。
返回类型: 带有翻译值的字符串系列
在下面的例子中,所使用的数据框包含一些NBA球员的数据。下面是数据框在任何操作之前的图像。
示例 #1:
在这个例子中,一个翻译表是通过一个字典创建的。这个字典有a、b和c作为它的键,X、Y和Z分别作为值。翻译表的创建是为了分别用X、Y和Z替换a、b和c。这个表被传递给str.translate()方法来做相应的改变。
# importing pandas module
import pandas as pd
# reading csv file from url
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")
# dropping null value columns to avoid errors
data.dropna(inplace = True)
# creating dictionary for trans table
trans_dict ={"a": "X", "b": "Y", "c": "Z"}
# creating translate table from dictionary
trans_table ="abc".maketrans(trans_dict)
# translating through passed transtable
data["Name"]= data["Name"].str.translate(trans_table)
# display
data
输出:
如输出图像所示,修改完毕,字母被成功替换。