我是熊猫新手。我尝试查看档案,但找不到或可能丢失。 数据:
d = {'A' : pd.Series([1., 2., 3., 4., 6.], index=['a', 'b', 'c', 'd','e']),'B' : pd.Series([3., 2., 1., 4., 7., 5.], index=['a', 'b', 'c', 'd', 'e', 'f',])}
df=pd.DataFrame(d)
df
我想要的是尝试比较“ A”与“ B”中的值。如果“ B”中的值大于“ A”中的值,我想将“ B”中的值替换为“ A”值。
“ B”的预期结果变为1(更改),2、1、4、6(更改),5
有人愿意告诉我怎么做吗? 非常感谢,
答案 0 :(得分:0)
您可以通过计算逐行最小值来实现:
conda create -n your_env_name python=3.7 anaconda
因此,您可以将>>> df[['A', 'B']].min(axis=1)
a 1.0
b 2.0
c 1.0
d 4.0
e 6.0
f 5.0
dtype: float64
分配回Series
列:
B
然后数据框具有值:
df['B'] = df[['A', 'B']].min(axis=1)
如果>>> df
A B
a 1.0 1.0
b 2.0 2.0
c 3.0 1.0
d 4.0 4.0
e 6.0 6.0
f NaN 5.0
的值为B
,则在计算最小值时将“忽略”该值,因此,我们将在该行的NaN
列中分配该值。