Python 如何有条件地连接

Python 如何有条件地连接,python,pandas,Python,Pandas,我想执行上述操作,但前提是df['col']满足2个条件,即值的长度==4,列中的值与选项列表中的一个匹配 道歉如果以前有人问过,我已经搜索了好几天,没有找到任何可比的 >>> df = pd.DataFrame({'col':['a',0]}) >>> df col 0 a 1 0 >>> df['col'] = 'str' + df['col'].astype(str) >>> df col 0 s

我想执行上述操作,但前提是df['col']满足2个条件,即值的长度==4,列中的值与选项列表中的一个匹配

道歉如果以前有人问过,我已经搜索了好几天,没有找到任何可比的

>>> df = pd.DataFrame({'col':['a',0]})
>>> df
  col
0   a
1   0
>>> df['col'] = 'str' + df['col'].astype(str)
>>> df
    col
0  stra
1  str0
然后,正如"文"所指出的:

# The list of options
l = ['aaaa']

# The filtering conditions
cond_1 = df['col'].apply(lambda x: len(str(x)) == 4)
cond_2 = df['col'].isin(l)
你可以用这个方法。下面是一个例子

# The manipulation.
df.loc[(cond_1 & cond_2), 'col'] = 'str' + df['col'].astype(str)

使用.loc和ISINCA可以提供一个示例吗?我不确定如何构建语句。
df.loc[(condi1)和(cond2),'col']='str'+df['col'].astype(str)
我收到以下错误
试图在数据帧的切片副本上设置值请参见文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-查看与复制自我。使用索引器(索引器,值)设置项目\uuuu main\uuuuuuuu:1:SettingWithCopyWarning:试图在数据帧切片的副本上设置值请参阅文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-查看与复制
@acecabana请提供您希望获得的示例输入和输出谢谢。最终起作用的是在运行代码之前复制df。错误不再出现。
df = pd.DataFrame({'col':['abcd',0]})
df['col'] = df['col'].astype(str)

df['col'] = np.where(df['col'].str.len() == 4, df['col'] + 'b', df['col'] + 'a')
print(df)
#     col
# 0 abcdb
# 1    0a