首页 > 解决方案 > 在数据框条目中搜索字符串并将其复制 python

问题描述

我有一个包含 3 列的数据框

它有三列说A,B,C

我想在 A列的所有行中查找特定的字符串“apple” ,如果特定行包含字符串“apple”,我想将其复制到新列D - 这样对于同一行列 D 将包含“苹果”这个词

我尝试使用 for 循环,例如:

for i in range(16):
    if df.iat[i,1].str.contains('apple').any():
         df.iat[i,2] = 'apple'

但它给了我错误:'str'对象没有属性'str'

我尝试了其他几种方法,但无法弄清楚如何遍历特定行

标签: pythonpandasdataframecopy

解决方案


类似于@coldspeed 的答案,但更简单一些,并且适用于几个不同的项目:

import pandas as pd

df = pd.DataFrame(
    dict(Name=['apple', 'banana', 'cherry', 'apple', 'banana', 'orange'],
         Value=[1, 2, 3, 4, 5, 6])
)

m = df.Name.apply(
    lambda x: x in ['apple', 'orange']
)
df.loc[m, 'NEW'] = df.loc[m, 'Name']

#df
    Name    Value   NEW
0   apple   1   apple
1   banana  2   NaN
2   cherry  3   NaN
3   apple   4   apple
4   banana  5   NaN
5   orange  6   orange

这种方法也适用于子字符串:

lambda x: 'app' in x or 'oran' in x

推荐阅读