我有一个 pandas
数据帧,我想有条件地将其值更改为字符串,而无需遍历每个值。
示例输入:
In [1]: df = pd.DataFrame(data = [[1,2],[4,5]],columns = ['a','b'])
Out[2]:
a b
0 1 2
1 4 5
这是我最好的尝试,但无法正常工作
df['a'] = np.where(df['a'] < 3,f'string-{df["a"]}',df['a'])
In [1]: df
Out[2]:
a b
0 string0 1\n1 4\nName: a,dtype: int64 2
1 4 5
所需的输出:
Out[2]:
A B
0 string-1 2
1 4 5
我正在使用 np.where(),因为由于实际 DataFrame 的大小,循环不可行。我使用的实际 f-string 也更复杂,并且有两个包含列名的变量,但问题是一样的。
是否有其他方法可以有条件地将 pandas
值更改为 f 字符串而不遍历每个值?