Col1 Col2
0 APT UB0
1 AK0 UUP
2 IL2 PB2
3 OIU U5B
4 K29 AAA
我的数据框看起来与上述数据相似。我试图更改Col1中的值,如果Col2中的相应值中包含字母“ B”。如果Col2中的值具有“ B”,那么我想在Col1中的值末尾添加“ -B”。
最终,我希望Col1看起来像这样:
Col1
0 APT-B
1 AK0
2 IL2-B
.. ...
我对如何处理有一个想法...但是我有些困惑,因为我知道我的代码是不正确的。另外,我的Col1实际代码中有NaN值...当我尝试执行val + =“ -B”时,肯定会出现错误,因为不可能添加字符串和浮点数。
for value in dataframe['Col2']:
if "Z" in value:
for val in dataframe['Col1']:
val += "-B"
有谁知道如何解决/解决这个问题?
不要使用循环,而是直接使用熊猫:
import pandas as pd
df = pd.DataFrame({'Col1': ['APT', 'AK0', 'IL2', 'OIU', 'K29'], 'Col2': ['UB0', 'UUP', 'PB2', 'U5B', 'AAA']})
df.loc[df.Col2.str.contains('B'), 'Col1'] += '-B'
print(df)
输出:
Col1 Col2
0 APT-B UB0
1 AK0 UUP
2 IL2-B PB2
3 OIU-B U5B
4 K29 AAA
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句