【发布时间】:2026-02-03 08:40:01
【问题描述】:
在我的 pandas DataFrame 中,我想根据另一列 (OldCol) 的数据遵循的某些条件添加一个新列 (NewCol)。
更具体地说,我的专栏OldCol 包含三种类型的字符串:
- BB_sometext
- sometext1
- 一些文本 1
我想区分这三种类型的字符串。现在,我使用以下代码做到了这一点:
df['NewCol'] = pd.Series()
for i in range(0, len(df)):
if str(df.loc[i, 'OldCol']).split('_')[0] == "BB":
df.loc[i, 'NewCol'] = "A"
elif len(str(df.loc[i, 'OldCol']).split(' ')) == 1:
df.loc[i, 'NewCol'] = "B"
else:
df.loc[i, 'NewCol'] = "C"
尽管这段代码似乎可以工作,但我确信有更好的方法来做这样的事情,因为这看起来效率很低。有谁知道更好的方法来做到这一点?提前致谢。
【问题讨论】:
标签: python pandas dataframe series