基于1列或多列在pandas数据帧中添加/插入值

2024-09-26 22:52:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有2个数据帧

date       sitename  Auto_name                  AutoCount                         
2012-05-01 chess.com Autobiographer               8
2012-05-05 chess.com Autobiographer               1
2012-05-15 chess.com Autobiographer               3

以及

^{pr2}$

输出应该是怎样的

date       sitename    Autoname                 AutoCount     Stu_name    Stu_count                     
2012-05-01 chess.com Autobiographer               8            Student       4
2012-05-02 chess.com Autobiographer               0            Student       2
2012-05-05 chess.com Autobiographer               1            Student       0
2012-05-15 chess.com Autobiographer               3            Student       0

我想插入姓名和学生人数从第二到第一,但基于日期列。看起来没那么难,但我搞不懂这个。在


Tags: 数据namecomautodatecountstudent姓名
1条回答
网友
1楼 · 发布于 2024-09-26 22:52:48

例如,您可以使用merge函数(请参阅有关合并数据帧的文档:http://pandas.pydata.org/pandas-docs/stable/merging.html)。假设您的数据帧名为df1df2

In [13]: df = pd.merge(df1, df2, how='outer')

In [14]: df
Out[14]: 
         date   sitename       Auto_name  AutoCount Stu_name  StudentCount
0  2012-05-01  chess.com  Autobiographer          8  Student             4
1  2012-05-05  chess.com  Autobiographer          1      NaN           NaN
2  2012-05-15  chess.com  Autobiographer          3      NaN           NaN
3  2012-05-02  chess.com             NaN        NaN  Student             2

上面它使用公共列合并(在本例中是datesitename),但是您也可以使用on关键字指定列(请参见docs)。在

在下一步中,您可以根据需要填充NaN值。根据示例输出,可以是:

^{pr2}$

相关问题 更多 >

    热门问题