如何在Python的pandas数据框中输入单个值
我之前是做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