如何在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| | | |
可以这样做吗?
【问题讨论】:
是的,使用loc
、iloc
或ix
。假设您的行索引确实从 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数据框中提取[]括号内的指定字符串并创建一个具有布尔值的新列
Python:如何将 Pandas Dataframe 行值转换为单个列?