gpt4 book ai didi

python - 根据索引将 pandas 列从数据帧合并到另一个数据帧

转载 作者:太空宇宙 更新时间:2023-11-03 17:40:55 26 4
gpt4 key购买 nike

我有一个数据框,df_one,看起来像这样,其中video_id是索引:

+----------+--------------+---------------+--------------+----------------+---------------+------------------+
| | video_length | feed_position | time_watched | unique_watched | count_watched | avg_time_watched |
+----------+--------------+---------------+--------------+----------------+---------------+------------------+
| video_id | | | | | | |
| 5 | 17 | 12.000000 | 17 | 1 | 1 | 1.000000 |
| 10 | 22 | 10.000000 | 1 | 1 | 1 | 0.045455 |
| 15 | 22 | 13.000000 | 22 | 1 | 1 | 1.000000 |
| 22 | 29 | 20.000000 | 5 | 1 | 1 | 0.172414 |
+----------+--------------+---------------+--------------+----------------+---------------+------------------+

我还有另一个数据帧 df_two ,它看起来像这样,其中 video_id 也是索引:

+----------+--------------+---------------+--------------+----------------+------------------------+
| | video_length | feed_position | time_watched | unique_watched | count_watched_yeterday |
+----------+--------------+---------------+--------------+----------------+------------------------+
| video_id | | | | | |
| 5 | 102 | 11.333333 | 73 | 6 | 6 |
| 15 | 22 | 13.000000 | 22 | 1 | 1 |
| 16 | 44 | 2.000000 | 15 | 1 | 1 |
| 17 | 180 | 23.333333 | 53 | 6 | 6 |
| 18 | 40 | 1.000000 | 40 | 1 | 1 |
+----------+--------------+---------------+--------------+----------------+------------------------+

我想要做的是根据每个索引将 count_watched_yeterday 列从 df_two 合并到 df_one

我尝试过:

video_base = pd.merge(df_one, df_two['count_watched_yeterday'], how='left', on=[df_one.index, df_two.index])

但是我收到了这个错误:ValueError:具有多个元素的数组的真值不明确。使用a.any()或a.all()

最佳答案

其实我觉得这里最简单的就是直接赋值:

In [13]:    
df['count_watched_yesterday'] = df1['count_watched_yeterday']
df['count_watched_yesterday']

Out[13]:
video_id
5 6
10 NaN
15 1
22 NaN
Name: count_watched_yesterday, dtype: float64

这是有效的,因为它将在索引值上对齐,如果没有匹配的值,则将分配 NaN 作为值

关于python - 根据索引将 pandas 列从数据帧合并到另一个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30563088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com