📜  Python| Pandas 使用 str.split() 将字符串拆分为两个列表/列

📅  最后修改于: 2022-05-13 01:54:49.986000             🧑  作者: Mango

Python| Pandas 使用 str.split() 将字符串拆分为两个列表/列

Pandas提供了一种在传递的分隔符/分隔符周围拆分字符串的方法。之后,该字符串可以存储为一系列列表,也可以用于从单个分隔字符串创建多个列数据框。

它的工作方式类似于 Python 的默认 split() 方法,但它只能应用于单个字符串。 Pandas >str.split()方法可以应用于整个系列。每次调用此方法之前都必须加上.str前缀,以将其与 Python 的默认函数区分开来,否则会引发错误。

要下载代码中使用的 CSV,请单击此处。

在以下示例中,使用的数据框包含一些 NBA 球员的数据。下面附上任何操作之前的数据帧图像。

示例 #1:将字符串拆分为列表

在此数据中,split函数用于在每个“t”处拆分 Team 列。该参数设置为 1,因此单个字符串中的最大分隔数将为 1。expand 参数为 False,这就是为什么返回包含字符串列表的序列而不是数据框的原因。

# 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)
   
# new data frame with split value columns
data["Team"]= data["Team"].str.split("t", n = 1, expand = True)
  
# df display
data

输出:
如输出图像所示,Team 列现在有一个列表。字符串在第一次出现“t”时被分隔,而不是在后来出现时被分隔,因为 n 参数设置为 1(字符串中最多 1 次分隔)。
示例 #2:从字符串中创建单独的列

在此示例中,Name 列以空格(“”)分隔,expand 参数设置为 True,这意味着它将返回一个数据框,其中所有分隔的字符串位于不同的列中。然后使用 Data 框创建新列,并使用 .drop() 方法删除旧的 Name 列。

# 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)
  
# new data frame with split value columns
new = data["Name"].str.split(" ", n = 1, expand = True)
  
# making separate first name column from new data frame
data["First Name"]= new[0]
  
# making separate last name column from new data frame
data["Last Name"]= new[1]
  
# Dropping old Name columns
data.drop(columns =["Name"], inplace = True)
  
# df display
data

输出:
如输出图像所示,split()函数返回了一个新数据帧,它用于在数据帧中创建两个新列(名字和姓氏)。

新数据框
添加列的数据框