【发布时间】:2021-07-09 15:52:22
【问题描述】:
我有一个看起来像这样的数据框(它包含虚拟数据)-
我想删除每个单元格中“_________”标识符之后出现的文本。我编写的代码如下(逻辑:添加一个包含 NaN 的新列并将编辑后的值保存在该列中)-
import pandas as pd
import numpy as np
df = pd.read_excel(r'Desktop\Trial.xlsx')
NaN = np.nan
df["Body2"] = NaN
substring = "____________"
for index, row in df.iterrows():
if substring in row["Body"]:
split_string = row["Body"].split(substring,1)
row["Body2"] = split_string[0]
print(df)
但 Body2 列仍显示 NaN 而不是编辑后的值。
任何帮助将不胜感激!
【问题讨论】:
-
使用
Series.str.split而不是循环。 -
使用
df["Body2"]=df["Body"].str.split(substring,1).str[0]
标签: python pandas dataframe split