簡體   English   中英

如何在熊貓python中填充一個空的數據框列

[英]how to fill an empty dataframe column in pandas python

我在Python 3.6中使用Pandas。 我的腳本加載了一個包含多個工作表的Excel文件。 在某些工作表中,行在兩列上具有數字值或字符串值。 運行腳本后,數值會分為兩列,但是我無法在第二列上復制第一列的字符串值。

對於數值,我正在使用:

df=df[['ID_Test']].join(df[pd_column].str.split(':',expand=True)).rename(columns={0: pd_column, 1: ''})

字符串值的第二列保持空白(無),並且必須使用與第一列相同的值進行更新

如果我使用: df[''] = df[pd_column] ,則第二列['']會完全更新為第一列的值(覆蓋數字值),但我沒有發現任何針對我的問題的解決方案。

數據輸入:

ID_Test_1   Test_1
Indicator_1 AAAAAAA
Indicator_2 2.745 : 2.03
Indicator_3 BBBBBBBB
Indicator_4 -5.013 : -5.013
Indicator_5 CCCCCCCC

實際輸出:(錯誤)

ID_Test_1   Test_1  
Indicator_1 AAAAAAA      None
Indicator_2 2.745        2.03
Indicator_3 BBBBBBBB     None
Indicator_4 -5.013       -5.013
Indicator_5 CCCCCCCCC    None

所需輸出:

ID_Test_1   Test_1  
Indicator_1 AAAAAAA      AAAAAAA
Indicator_2 2.745        2.03
Indicator_3 BBBBBBBB     BBBBBBBB
Indicator_4 -5.013       -5.013
Indicator_5 CCCCCCCCC    CCCCCCCCC

第二列不得帶有標簽

根據您的示例數據和代碼。 我只是在join之前將ffill(1)添加到拆分中

pd_column = 'Test_1'
(df[['ID_Test_1']].join(df[pd_column].str.split('\s+:\s+',expand=True).ffill(1))
                                    .rename(columns={0: pd_column, 1: ''}))


Out[29]:
     ID_Test_1    Test_1
0  Indicator_1   AAAAAAA   AAAAAAA
1  Indicator_2     2.745      2.03
2  Indicator_3  BBBBBBBB  BBBBBBBB
3  Indicator_4    -5.013    -5.013
4  Indicator_5  CCCCCCCC  CCCCCCCC

暫無
暫無

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

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