目前我正在研究集群问题,我有一个从一个数据帧复制到原始数据帧的值的问题。你知道吗
CustomerID | Date | Time| TotalSum | CohortMonth| CohortIndex
--------------------------------------------------------------------
0 |17850.0|2017-11-29||08:26:00|15.30|2017-11-01|1|
--------------------------------------------------------------------
1 |17850.0|2017-11-29||08:26:00|20.34|2017-11-01|1|
--------------------------------------------------------------------
2 |17850.0|2017-11-29||08:26:00|22.00|2017-11-01|1|
--------------------------------------------------------------------
3 |17850.0|2017-11-29||08:26:00|20.34|2017-11-01|1|
--------------------------------------------------------------------
以及具有要复制的值(群集)的数据帧:
CustomerID|Cluster
------------------
12346.0 | 1
------------------
12346.0 | 1
------------------
12346.0 | 1
------------------
请帮助我解决这个问题:如何根据客户ID标准将值从第二个df复制到第一个数据帧。你知道吗
我试过这样的代码:
df.merge(ic,left_on='CustomerID',right_on='Cluster',how='left').drop('CustomerID',1).fillna('')
但它不工作,我得到一个错误。。。你知道吗
此外,它还尝试了这样一种代码:
df, ic = [d.reset_index(drop=True) for d in (df, ic)]
ic.join(df[['CustomerID']])
但是它会得到相同的错误或者像df中没有的'Customer ID'一样的错误。。。 对不起,如果它不清楚,格式不好的问题…这是我的第一个关于stackoverflow的问题。谢谢大家。你知道吗
更新
我试过这个
df1=df.merge(ic,left_on='CustomerID',right_on='Cluster',how='left')
if ic['CustomerID'].values != df1['CustomerID_x'].values:
df1.Cluster=ic.Cluster
else:
df1.Cluster='NaN'
但是对于同一个客户我有不同的集群。你知道吗
鉴于你所写的,我认为你想要:
相关问题 更多 >
编程相关推荐