簡體   English   中英

在熊貓數據框中基於1或更多列添加/插入值

[英]Adding/inserting values in pandas dataframe based on 1 or more columns

我有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

date       sitename  Stu_name      Student count
2012-05-01 chess.com Student        4
2012-05-02 chess.com Student        2

輸出應如何

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

我想將姓名和學生人數從第二位插入第一位,但要基於日期列。 看起來並不困難,但我無法弄清楚這一點。

您可以例如使用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值。 在示例輸出之后,可以是:

In [15]: df.fillna({'Auto_name':'Autobiographer', 'AutoCount':0, 'Stu_name':'Student', 'StudentCount':0})
Out[15]: 
         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  Student             0
2  2012-05-15  chess.com  Autobiographer          3  Student             0
3  2012-05-02  chess.com  Autobiographer          0  Student             2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM