相关疑难解决方法(0)

使用索引为pandas DataFrame中的特定单元格设置值


我已经创建了一个pandas DataFrame

df = DataFrame(index=['A','B','C'], columns=['x','y'])
Run Code Online (Sandbox Code Playgroud)

得到了这个

    x    y
A  NaN  NaN
B  NaN  NaN
C  NaN  NaN


然后我想为特定单元格赋值,例如行'C'和列'x'.我期望得到这样的结果:

    x    y
A  NaN  NaN
B  NaN  NaN
C  10  NaN

使用此代码:

df.xs('C')['x'] = 10
Run Code Online (Sandbox Code Playgroud)

但是df的内容没有改变.在数据帧中它只是Nan的.

有什么建议?

python dataframe pandas

396
推荐指数
17
解决办法
69万
查看次数

如何修改 pandas 数据框的一个“单元格”中的值?

我有一个非常简单的问题。我想更改 pandas 数据框给定行的给定列中的值。我尝试通过以下方式做到这一点:

df['column3'].loc[this_date] = val
Run Code Online (Sandbox Code Playgroud)

结果我收到以下警告:

SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame
Run Code Online (Sandbox Code Playgroud)

我对此警告的解释是,通过使用列名称 ( 'column3'),loc我并没有真正访问(引用)数据框的所需单元格。相反,我创建一个对象,它是“单元格”对象的副本,然后尝试更改与此“复制对象”关联的值。

我不明白的是它似乎有效。尽管 pandas 写信给我说我尝试修改副本,但我确实修改了原始数据框。

我的问题是如何确保我真的在做我想做的事情以及如何以“正确”的方式去做,这样熊猫就不会抱怨?

python copy dataframe pandas

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

dataframe ×2

pandas ×2

python ×2

copy ×1