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