pd.DataFrame
对象,该对象包含来自不同用户的tweet和re tweets。我要完成的是填充
rt_uid
(即转发用户id)与相应的
uid
正在被转发的用户。因此,期望的输出将是:
期望输出
tw_id tw_uid rt_uid tw_uname rt_uname
0 0 10 12.0 u1 u3
1 1 10 12.0 u1 u3
2 2 12 NaN u3 None
3 3 13 NaN u4 None
4 4 14 10.0 u5 u1
5 5 15 10.0 u6 u1
6 6 16 10.0 u7 u1
7 7 16 NaN u7 None
8 8 16 NaN u7 None
9 9 12 13.0 u3 u4
专栏
资源
包含预先转发的用户的用户ID。
Code 1
提供了一个数据集的玩具示例,其中包含我的解决方案,但没有成功:
代码1
import pandas as pd
tw_df = pd.DataFrame(dict(
tw_id=np.arange(10),
tw_uid=[10, 10, 12, 13, 14, 15, 16, 16, 16, 12],
rt_uid=[None]*10,
tw_uname=['u1', 'u1', 'u3', 'u4', 'u5', 'u6', 'u7', 'u7', 'u7', 'u3'],
rt_uname=['u3', 'u3', None, None, 'u1', 'u1', 'u1', None, None, 'u4'],
)
)
tw_df.loc[~tw_df.loc[:, 'rt_uname'].isnull(), 'rt_uid'] = tw_df.loc[tw_df.loc[:, 'tw_uname'].isin(tw_df.loc[:, 'rt_uname']), 'tw_uid']
tw_df
输出错误
如你所见
资源
列仅包含镜像
tw_uid
列。
我错过了什么?提前谢谢。