1. 程式人生 > >[work] pandas DataFrame 修改單個數據

[work] pandas DataFrame 修改單個數據

DataFrame每一行資料相當於一個Series,其index是DataFrame的columns是屬性。

>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame(np.arange(12).reshape(3,4), columns=[chr(i) for i in range(97,101)])
>>> df
    a   b   c   d
0   0   1   2   3
1   4   5   6   7
2   8   9   10  11

第一種方式

>>> df.iloc[1,3] = '老王'
>>> df
    a   b   c   d
0   0   1   2   3
1   4   5   6   老王
2   8   9   10  11

推薦這樣修改,列順序更改的話,程式碼維護小

>>> d_index = list(df.columns).index('d')
>>> d_index
3

>>> df.iloc[1,d_index] = '老李'
>>> df
    a   b   c   d
0   0   1   2   3
1   4   5   6   老李
2   8   9   10  11

第二種方式:使用新的Series,替換當前行

>>> df 
    a   b   c   d
0   0   1   2   3
1   4   5   6   7
2   8   9   10  11

>>> d = dict(df.iloc[1])
>>> d
{'a': 4, 'b': 5, 'c': 6, 'd': 7}

>>> d['d'] = '老王'
>>> df.iloc[1] = pd.Series(d)
>>> df
    a   b   c   d
0   0   1   2   3
1   4   5   6   老王
2   8   9   10  11



作者:領悟悟悟悟
連結:https://www.jianshu.com/p/a6139a1352d6
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。