Python Pandas Series.str.get_dummies()
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas str.get_dummies()用于在调用者系列中以传递的分隔符分隔每个字符串。在分割每个字符串后,将返回一个包含所有可能值的数据框。如果原始数据框中同一索引的文本值包含字符串(列名/分割值),则该位置的值为1,否则为0。
因为这是一个字符串操作,所以每次在调用这个函数之前都必须要有.str的前缀。否则,它将抛出一个错误。
语法: Series.str.get_dummies(sep=’|’)
参数:
sep: 字符串值,用于分割字符串的分隔符。
返回类型: 只有二进制值的数据框
在下面的例子中,使用的数据框包含一些雇员的数据。下面是数据框在任何操作之前的图像。
例子#1:用空格分隔不同的字符串
在这个例子中,Team列中的字符串在””处被分割开来(白空间),分割后的数据框被返回所有可能的值。如果字符串(列名)存在于旧数据框中相同索引的文本值中,则返回的数据框中的值为1。
# importing pandas
import pandas as pd
# making data frame from csv at url
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/employees.csv")
# making dataframe using get_dummies()
dummies = data["Team"].str.get_dummies(" ")
# display
dummies.head(10)
输出:
如输出图像所示,它可以与数据帧的原始图像进行比较。如果字符串存在于相同的索引中,那么值为1,否则为0。
重要点:
- 如果字符串不是空的,那么至少有一列会在同一索引上有值1。
- 如果值是空的,那么所有的列在该索引处的值都是0(可以在上面的例子中的第二个元素看到)。
例子2:在多点分割/静止值栏中分割
在这个例子中,为新列取了一个静态值(”Hello gfg family”)。然后应用get_dummies()方法,将字符串在 “g “处分开。由于 “g “出现了不止一次,所以会有不止一列,而且所有列的值都必须是相同的,因为所有行的字符串也是相同的。
# importing pandas
import pandas as pd
# making data frame from csv at url
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/employees.csv")
# string for new column
string ="Hello gfg family"
# creating new column
data["New_column"]= string
# creating dummies
df = data["New_column"].str.get_dummies("g")
# display
df.head(10)
输出:
如输出图像所示,新的数据框架有3列,每一行都有相同的值。