我正在尝试对数据帧中的两列使用rank函数。
问题
:
其中一列包含空白值,这不允许我在排名前执行groupby。
误差
:
值错误:长度不匹配:预期轴有1122个元素,新值有1814个元素
df_source['col1'] = df_source['col1'].apply(lambda \
x:x.strip()).replace('',np.nan)
df_source['Rank'] = df_source.groupby(by=['col0','col1']) \
['col1'].transform(lambda x: x.rank(na_option='bottom'))
**Actual:**
col0 col1
98630 a
a
90211 a
31111 a
b
23323 c
**Expected**
col0 col1 Rank
98630 a 1
a 2
90211 a 1
31111 a 1
b 1
23323 c 1