【问题标题】:pandas compare two column with different size熊猫比较两列不同大小
【发布时间】:2017-12-14 15:55:28
【问题描述】:

假设我们在两个数据框中有两列,列相同但大小不同。我们如何比较两列并在两者中具有相同值的索引? df1 和 df2,age 在两个中很常见,但是 df1 有 1000 行,df2 有 200 行——我想要具有相同年龄值的行的索引?

【问题讨论】:

  • 所以有问题的两列都有年龄数据 - 相同的格式和所有内容?
  • 是的,它们具有相同的格式和除行数之外的所有内容。

标签: pandas dataframe


【解决方案1】:

您可以使用.loc 进行索引标注:

df1.age < df2.loc[df1.index].age

例子:

df1 = pd.DataFrame({'age':np.random.randint(1,10,10)})

df2 = pd.DataFrame({'age':np.random.randint(1,10,20)})

输出:

0     True
1     True
2    False
3     True
4     True
5    False
6    False
7     True
8    False
9    False
Name: age, dtype: bool

在一个数据框中获取所有内容:

df1.assign(age_2=df2.loc[df1.index],cond=df1.age < df2.loc[df1.index].age)

输出:

   age  age_2   cond
0    3      5   True
1    3      8   True
2    6      6  False
3    4      7   True
4    4      7   True
5    5      2  False
6    2      2  False
7    3      7   True
8    6      3  False
9    5      4  False

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 2021-01-12
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    相关资源
    最近更新 更多