如何在Python的pandas数据框中输入单个值

1 投票
1 回答
11186 浏览
提问于 2025-04-18 07:40

我之前是做Excel VBA编程的,那个时候在输入数据方面非常简单:

(1) 可以很容易地在一列的每个单元格里输入数据,

(2) 也可以在一行的每个单元格里输入数据,或者

(3) 只在一个特定的单元格里输入数据,比如B1。这个过程可以通过数组来完成,也可以直接在工作表上操作。

那么,pandas数据框(dataframe),其实就是一个表格,能不能在特定的行和列交叉点上添加一个数据项呢?

我知道它在处理整行或整列的数据时,能非常快速地处理上百万行的数据,但它能不能在里面放入单个的数据项呢?

想象一下下面这个图示(A列和B列是已经存在的数据框,然后我想在第二行的第二列添加数据项X)。

   A | B | C | D | 
 1| a|   |   |   |
 ------------------
 2| b| x |   |   |
 ------------------
 3| c|   |   |   |
 ------------------
 5| d|   |   |   |
 ------------------
 6| e|   |   |   |

这能做到吗?

1 个回答

1

看起来是这样的:

> df = pd.DataFrame({'A':list('abcde')}, columns=list('ABCDE'))
> df
   A    B    C    D    E
0  a  NaN  NaN  NaN  NaN
1  b  NaN  NaN  NaN  NaN
2  c  NaN  NaN  NaN  NaN
3  d  NaN  NaN  NaN  NaN
4  e  NaN  NaN  NaN  NaN
> df.B[2] = 'x'
> df.loc[3, 'C'] = 'y'
> df
   A    B    C    D    E
0  a  NaN  NaN  NaN  NaN
1  b  NaN  NaN  NaN  NaN
2  c    x  NaN  NaN  NaN
3  d  NaN    y  NaN  NaN
4  e  NaN  NaN  NaN  NaN

撰写回答