使用从1 df到其他熊猫的列值

时间:2019-12-28 14:27:35

标签: pandas multiple-columns

[IN] df
[OUT]:
customer_id      Order_date   Status 
1                2015-01-16      R
1                2015-01-19      G
2                2014-12-21      R
2                2015-01-10      G
1                2015-01-10      B
3                2018-01-18      Y
3                2017-03-04      Y
4                2019-11-05      B
4                2010-01-01      G
3                2019-02-03      U
3                2020-01-01      R
3                2018-01-01      R

用于提取order_trasactions计数至少为3的Customer_ID的代码:

[IN]
df22=(df.groupby('customer_id')['order_date'].nunique().loc[lambda 
x:x>=3].reset_index()).rename(columns={'order_date':'Count_Order_Date'})
[OUT]      
         Customer_id     Count_Order_Dates
             1                  3
             3                  5

我想要的输出:     我想在原始数据帧df中使用上面的代码获得的ID,因此需要输出如下:

  [OUT]
  customer_id      Order_date   Status 
1                2015-01-16      R
1                2015-01-19      G
1                2015-01-10      B
3                2018-01-18      Y
3                2017-03-04      Y
3                2019-02-03      U
3                2020-01-01      R
3                2018-01-01      R

因此,在输出中仅反映ID 1和3(至少有3个或更多唯一订单日期的ID)。

到目前为止我尝试过的(失败了):

 df[df['customer_id'].isin(df22['customer_id'])]


 Reason it has failed I feel is because when I do df['customer_id'].nunique() and  
 df22['customer_id'].nunique(), values are different in both the cases.

1 个答案:

答案 0 :(得分:0)

这是一个简单的错误。我忘记将df值重新分配给df [df ['customer_id']。isin(df22 ['customer_id'])]

这样做

#pragma once

#ifdef MATHLIBRARY_EXPORTS
#define MATHLIBRARY_API __declspec(dllexport)
#else
#define MATHLIBRARY_API __declspec(dllimport)
#endif

extern "C" MATHLIBRARY_API void fibonacci_init(
        const unsigned long long a, const unsigned long long b);

extern "C" MATHLIBRARY_API bool fibonacci_next();

extern "C" MATHLIBRARY_API unsigned long long fibonacci_current();

extern "C" MATHLIBRARY_API unsigned fibonacci_index();

解决了我的问题。

感谢@YOandBEN_W指出来。