Col1 Col2
0 APT UB0
1 AK0 UUP
2 IL2 PB2
3 OIU U5B
4 K29 AAA
我的数据框看起来与上面的数据相似。如果Col2中对应的值中有字母“B”,我将尝试更改Col1中的值。如果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"
有人知道如何解决这个问题吗?你知道吗
代码中的for循环太多。您只需要在行上迭代一次,对于满足您的条件的任何行,您都可以进行更改。你知道吗
edit:我使用
str
将Col1中的前一个值转换为字符串,然后再追加,因为您说过这里有时有非字符串值。如果这不适合你,请张贴你的测试数据和结果。你知道吗与其使用循环,不如直接使用熊猫:
输出:
可以使用
lambda
表达式。如果“B”在Col2
中,则将“-B”附加到Col1
。最终结果被分配回Col1
。你知道吗相关问题 更多 >
编程相关推荐