[work] pandas DataFrame 修改單個數據
阿新 • • 發佈:2018-12-03
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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。