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

Posted

技术标签:

【中文标题】如何在python的pandas数据框中输入单个值【英文标题】:how to input individual values in a pandas dataframe in python 【发布时间】:2014-07-15 22:00:34 【问题描述】:

我来自excel VBA编程背景,输入数据非常容易

(1) 列中的每个单元格, (2) 一行中的每个单元格,或 (3) 单个单元格,例如B1 这可以作为数组或直接在工作表中完成。

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

我知道它非常擅长快速处理具有数百万行的整行或整列的数据,但它(pandas 数据框)是否可以在其中放入单个数据项。

想像下图(A列和B列作为现有数据框,然后我想将数据项X添加到第二行的新第二列中。

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

可以这样做吗?

【问题讨论】:

是的,使用locilocix。假设您的行索引确实从 1 开始(通常在 pandas 中从零开始),例如,您可以这样做(对于名为 df 的数据框):df.loc[2,'B'] = 'x'。 10 minutes to pandas doc 涵盖了这个 【参考方案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

【讨论】:

不要使用链式索引,最好使用.loc.iloc.ix,而不是看到online docs,所以对于这个例子你应该使用df.loc[2,'B'] = 'x'

以上是关于如何在python的pandas数据框中输入单个值的主要内容,如果未能解决你的问题,请参考以下文章

Python如何在pandas数据框中提取[]括号内的指定字符串并创建一个具有布尔值的新列

如何在 pandas 数据框中解连接或取消连接字符串值?

如何将多个列值连接到 Pandas 数据框中的单个列中

Python:如何将 Pandas Dataframe 行值转换为单个列?

无法在 python pandas 数据框中附加嵌套的 JSON 值

如何使用单个索引更新多索引数据框中的记录