将多列熊猫数据框与一列进行比较

皮尤什(Piyush)

我有一个数据框:df-

    A   B   C   D   E
0   V   10  5   18  20
1   W   9   18  11  13
2   X   8   7   12  5
3   Y   7   9   7   8
4   Z   6   5   3   90

我想添加一列“结果”,如果“ E”列中的值大于B,C和D列中的值,则应返回1,否则返回0。

输出应为:

    A   B   C   D   E   Result
0   V   10  5   18  20  1
1   W   9   18  11  13  0
2   X   8   7   12  5   0
3   Y   7   9   7   8   0
4   Z   6   5   3   90  1

对于几列,我将使用类似:if(and(E> B,E> C,E> D),1,0)的逻辑,但是我必须比较大约20列(从B到U)的列名为' V'。另外,该数据框具有约10万行。

我在用

df['Result']=np.where((df.ix[:,1:20])<df['V']).all(1),1,0)

它给内存错误。

耶斯列尔

一种可能的解决方案是在中进行比较numpy,最后将布尔值掩码转换为ints:

df['Result'] = (df.iloc[:, 1:4].values < df[['E']].values).all(axis=1).astype(int)
print (df)
   A   B   C   D   E  Result
0  V  10   5  18  20       1
1  W   9  18  11  13       0
2  X   8   7  12   5       0
3  Y   7   9   7   8       0
4  Z   6   5   3  90       1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫将多列与一列进行比较

熊猫数据框:将一列中的值与先前的值进行比较

将多列熊猫数据框合并为一列

如何将数据框中的一列分成多列?[蟒蛇,熊猫]

从熊猫数据框中的一列移动到多列或多列到一列

通过根据列值熊猫数据框将一列置于另一列之下,将多列合并为一列

如何将数据从熊猫数据框的一列拆分为新数据框的多列

将数据框中的一列与另一数据框中的两列进行比较

将数据框从多列重塑为一列

将列表中的每个元素与数据框 python 中的一列列表进行比较

比较熊猫数据框中的多列

将数据框中的多列与外部向量进行比较

将数据框多列与R中的行进行比较

按一列或另一列对熊猫数据框进行分组

在同一数据框熊猫中将多列合并为一列

Python:将多列与一列进行比较,并用 NaN 替换大于该列的值

熊猫将1列的值与另一个数据框的列进行比较,找到匹配的行

将一个数据框的每一列与另一数据框列进行比较,并将每个结果重叠打印到单独的文件中

如何比较数据框(熊猫)中同一列的数据

如何将所有列与熊猫中的一列进行比较?

用熊猫数据框中另一列的值在多列中填充Na

熊猫数据框只有一列,但实际上有多列

根据与熊猫数据框的另一列值的部分匹配获取多列值

将一个数据框中的一列与不同数据框中的其他两列进行比较?

将一列与包含分类值而没有循环的多列进行比较

将一列与多列进行比较,并用r中的dplyr覆盖值

使用自定义比较功能按多列对熊猫数据框进行排序

熊猫将一列中的列表项与另一列中的单个值进行比较

比较熊猫中两个数据框中一列的差异