美文网首页我爱编程
pandas DataFrame 单个数据修改(cell)

pandas DataFrame 单个数据修改(cell)

作者: 领悟悟悟 | 来源:发表于2018-03-09 17:00 被阅读0次

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

相关文章

网友评论

    本文标题:pandas DataFrame 单个数据修改(cell)

    本文链接:https://www.haomeiwen.com/subject/ghqmfftx.html