比较混合数据类型的两个pandas列

2024-05-19 00:02:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧如下,列a和引用的值类型为str、float和int。如果两个值相同,则必须进行比较并创建一个新列,否则将失败。如果A列中的所有值都是string datatype but before compare,则非常简单,如果A列中的任何数值都是十进制且以.0结尾,则在与Refer column进行比较之前,第3行“1.0”中的示例必须更改为“1”

       A  Refer
0    usa    usa
1      1      1
2  india    usa
3    1.0      1
4    1.1    1.1
5    1.1    1.2
6  0.888  0.898
7  0.888  0.888

我期待的结果是:

^{pr2}$

所以我想创建一个函数,这样它将检查每一行,如果行值是数值,那么它将检查类型是float/int。如果它是float并以'.0'结尾,那么trunk/remove decimal否则继续使用平面值。 若行值是字符串,那个么就直接向前比较。在

谁能帮忙吗


Tags: 数据类型string结尾columnfloatbutint
1条回答
网友
1楼 · 发布于 2024-05-19 00:02:07

IIUC,熊猫体内有很多内置功能

更新to_numeric

df.apply(pd.to_numeric,errors='ignore',axis=1).nunique(1).eq(1).map({True:'Pass',False:'Fail'})
Out[272]: 
0    Pass
1    Pass
2    Fail
3    Pass
4    Pass
5    Fail
6    Fail
7    Pass
dtype: object

分配回来后

^{pr2}$

相关问题 更多 >

    热门问题