如何在python中的数据帧中输入单个值

如何在python中的数据帧中输入单个值,python,excel,vba,pandas,Python,Excel,Vba,Pandas,我来自一个excel VBA程序的背景,在那里输入数据非常容易 (1) 列中的每个单元格, (2) 一行中的每个单元格,或 (3) 单个单元格(如B1)可以作为数组或直接放入工作表中 熊猫数据帧(实际上是一个网格)是否能够将项目添加到特定的行和列交叉点 我知道它非常擅长快速处理包含数百万行的整行或整列的数据,但它(熊猫数据帧)可以将单个数据项放入其中 将下图(A列和B列)视为一个现有的dataframe,然后我想将数据项X添加到第二行的新的第二列中 A | B | C | D | 1|

我来自一个excel VBA程序的背景,在那里输入数据非常容易

(1) 列中的每个单元格, (2) 一行中的每个单元格,或 (3) 单个单元格(如B1)可以作为数组或直接放入工作表中

熊猫数据帧(实际上是一个网格)是否能够将项目添加到特定的行和列交叉点

我知道它非常擅长快速处理包含数百万行的整行或整列的数据,但它(熊猫数据帧)可以将单个数据项放入其中

将下图(A列和B列)视为一个现有的dataframe,然后我想将数据项X添加到第二行的新的第二列中

   A | B | C | D | 
 1| a|   |   |   |
 ------------------
 2| b| x |   |   |
 ------------------
 3| c|   |   |   |
 ------------------
 5| d|   |   |   |
 ------------------
 6| e|   |   |   |
可以这样做吗?

看起来是这样的:

> 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

是的,使用
loc
iloc
ix
。假设行索引确实从一开始(在pandas中通常从零开始),例如,您可以这样做(对于称为df的数据帧):
df.loc[2,'B']='x'
。封面不使用链式索引,更喜欢使用
.loc
.iloc
.ix
来代替,请参见so。对于本例,您应该使用
df.loc[2,'B']='x'