标识第二个数据框中的行的值小于第一个

拉耶夫

我有2个数据框,如下面的代码所示。两者的日期相同。我需要能够确定第二个数据框中的值小于同一日期的第一个值。根据数据,我应该得到1/1/2008的值为33、1 / 4/2008的值为35等,因为它小于第一个数据帧中的相应值。我能够获取布尔值,但是无法从第二个数据帧中获取实际值。

import pandas as pd
import numpy as np

data1 = {'Date': {1: '1/1/2008',
  2: '1/2/2008',
  3: '1/3/2008',
  4: '1/4/2008',
  5: '1/5/2008',
  6: '1/6/2008',
  7: '1/7/2008',
  8: '1/8/2008',
  9: '1/9/2008',
 10: '1/10/2008'
   },
 'windspeed': {1: '36',
  2: '38',
  3: '40',
  4: '39',
  5: '45',
  6: '33',
  7: '31',
  8: '39',
  9: '41',
 10: '37'}}

df1 = pd.DataFrame(data1)

data2 = {'Date': {1: '1/1/2008',
  2: '1/2/2008',
  3: '1/3/2008',
  4: '1/4/2008',
  5: '1/5/2008',
  6: '1/6/2008',
  7: '1/7/2008',
  8: '1/8/2008',
  9: '1/9/2008',
 10: '1/10/2008'
  },
 'windspeed': {1: '33',
  2: '39',
  3: '42',
  4: '35',
  5: '43',
  6: '40',
  7: '39',
  8: '37',
  9: '44',
 10: '35'}}

df2 = pd.DataFrame(data2)
cs95

设置索引(用于对齐)并比较-

i = df1.set_index('Date')
j = df2.set_index('Date')

j[i.windspeed > j.windspeed]

          windspeed
Date               
1/1/2008         33
1/4/2008         35
1/5/2008         43
1/8/2008         37
1/10/2008        35

如果日期列不相同,则可以align使用-

i, j = i.align(j)

然后,重复相同的比较+过滤步骤。如果要将Date用作另一列,请调用reset_index结果-

j[i.windspeed > j.windspeed].reset_index()

        Date windspeed
0   1/1/2008        33
1   1/4/2008        35
2   1/5/2008        43
3   1/8/2008        37
4  1/10/2008        35

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

第一个数字小于第二个数字时的模数除法

根据第一个数据列的值对第二个数据表中的行进行计数而不合并

Spark(使用pyspark)使用一个数据框(结构化流)中的值查询静态数据框,并将第二个df中的行与第一个合并

从每行中减去第一个或第二个值

如何使用PHP将第二个数组值插入第一个数组

在第一个数据框给定的2个日期之间找到第二个数据框的最小值和最大值

如果第一个数据帧中存在行,如何更新第二个数据帧的存在值

如何根据第二个中的可能值范围合并两个数据帧,但保留第一个中的值?

PySpark:合并一个值(来自第一个数据框)介于两个值(来自第二个数据框)之间的数据框

将一个熊猫数据帧合并到另一个熊猫数据帧,并从第二个数据帧中删除第一个数据帧中存在的值

使用2组不同的数据创建存储过程(将第一个数据中的值用作第二个数据的参数)

2个数据库。如果第一个不存在值,则在第二个中查找/搜索

比较两个数组并显示第一个数组中不存在的第二个数组值

计算第二个序列中第一个序列的种子值

如何从此JSON数据的第二个元素中获取第一个值?

两个数组,长度相同。如果第一个数组值等于 true 从第二个数组中获取值

从第二个数组中存在的第一个数组中删除值

如何为第一个数据帧中匹配的特定列值的所有值获取第二个数据帧的数据?

将第二个数组推入第一个数组中

如何使用一个数据帧中的值来计算第二个数据帧中大于或小于它的值的总数?

如何取第一个数组的匹配键的第二个数组的值

查找第一个值并返回列表中的第二个值

Oracle - 用第二个表中的行更新第一个表中的数据

检查第一个数据帧值以任何第二个数据帧值开始

从具有不同开始日期的第二个数据帧中过滤第一个数据帧的行

我有两个数组,第一个数组中的值与第二个数组的 ID 字段中的值相同

如何组合 2 个数据框,创建仅出现在第二个数据框而不出现在第一个数据框和 groupby 中的行以获得总和?

根据第二个数据帧中 2 列中的值,为第一个数据帧中的某些列添加后缀

使用 Pyspark 查找第二个数据帧中未找到的行以及第一个数据帧的行号