在 python pandas 中使用 str.split 将字符串拆分为两个列表列
pandas 有一种基于分隔符/定界符拆分字符串的方法。我们将使用 pandas str.split()
函数。
在 python pandas 中使用 str.split()
函数将字符串拆分为两个列表/列
该字符串可以保存为系列列表,也可以由单个分隔的字符串、多列 dataframe 构成。
使用的函数类似于 python 的默认 split()
方法,但它们只能应用于单个字符串。
语法:
syntax:series.str.split(pat=none, n=-1, expand=false)
let's define each of the parameters of syntax
parameters:
pat:string value, separator, or delimiter used to separate strings
n=the maximum number of separations to make in a single string; the default is -1, which signifies all.
expand: if true, this boolean value returns a data frame with different values in separate columns. otherwise, it returns a series containing a collection of strings.
return: depending on the expand parameter, a series of lists or a data frame will be generated.
首先,我们用一个简单的例子来解释,然后是一个 csv 文件。
使用基本语法将 pandas dataframe 中的字符串列拆分为多列
data[["a", "b"]] = data["a"].str.split(",", 1, expand=true)
请参阅下面的示例,这些示例演示了此语法在实践中的使用。
按逗号拆分列:
import pandas as pd
df = pd.dataframe(
{"name": ["anu,ais ", "bag, box", "fox, fix"], "points": [112, 104, 127]}
)
df
输出:
# split team column into two columns
df[["name", "lastname"]] = df["name"].str.split(",", 2, expand=true)
df
输出:
对于代码中使用的 csv 文件下载,请单击此处。
学生成绩数据包含在以下示例中使用的 dataframe 中。附加任何操作之前的 dataframe 图像。
我们以两种方式解释字符串的拆分。
- 将字符串转换为列表
- 从字符串创建单独的列
在 python pandas 中将字符串转换为列表
在此数据中使用 split 函数在每个 d
处拆分午餐列。该选项设置为 1,单个字符串中的最大分隔数为 1。
expand 参数设置为 false。返回的不是一系列 dataframe,而是一个字符串列表。
import pandas as pd
df = pd.read_csv("/content/drive/mydrive/studentsperformance.csv")
# dropping null value columns to avoid errors
df.dropna(inplace=true)
# new data frame with split value columns
df["lunch"] = df["lunch"].str.split("d", n=1, expand=true)
# df display
df.head(9)
输出:
输出图像显示午餐列现在有一个列表,因为 n 选项设置为 1。
字符串在第一次出现 d
时被分隔,而不是在后续出现时分隔(字符串中最多 1 次分隔)。
在 python pandas 中从字符串创建单独的列
在此示例中,父母教育程度列由空格" "
分隔,并且扩展选项设置为 true。
这意味着它将返回一个 dataframe,其中所有分隔的字符串位于不同的列中。然后使用 dataframe 构建新列。
使用 drop()
方法删除旧的父母教育水平列。
import pandas as pd
df = pd.read_csv("/content/drive/mydrive/studentsperformance.csv")
# dropping null value columns to avoid errors
df.dropna(inplace=true)
new = df["parental level of education"].str.split(" ", n=1, expand=true)
df["educational level"] = new[0]
df["insititute"] = new[1]
# dropping old name columns
df.drop(columns=["parental level of education"], inplace=true)
# df display
df.head(9)
输出:
split()
函数提供了一个新的 dataframe,该 dataframe 在 dataframe 中创建了两个新列(教育级别和学院)。
上图显示了新列。我们还可以使用显示新创建的列的新关键字查看新列。
new.head(9)
输出:
结论
因此,在你的 pandas 信息框中通常有一个部分需要在信息大纲中分成两个部分。
例如,如果你的信息大纲中的某个部分是全名,你可能需要将其分为名字和姓氏。
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
pandas dataframe dataframe.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:python
-
dataframe.shift() 函数是将 dataframe 的索引按指定的周期数进行移位。
python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:python
-
python pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:python
-
pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。
pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:python
-
本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。
pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:python
-
本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。
在 python 中将 pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:python
-
了解如何在 python 中将 pandas 系列日期时间转换为字符串