Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 为什么我不能从DataFrame列更改单元格子集中的值?_Pandas_Slice - Fatal编程技术网

Pandas 为什么我不能从DataFrame列更改单元格子集中的值?

Pandas 为什么我不能从DataFrame列更改单元格子集中的值?,pandas,slice,Pandas,Slice,我正在为数据帧列中单元格的子集编制索引,并尝试将布尔值True分配给所述子集: df['mycolumn'][df['myothercolumn'] == val][idx: idx + 25] = True 但是,当我切片df['mycolumn'][df['myothercolumn']==val][idx:idx+25]时,仍然可以找到初始值。换句话说,没有应用更改 我要把头发扯下来。我做错了什么?试试这个: df.loc[df['myothercolumn']==val, some_c

我正在为数据帧列中单元格的子集编制索引,并尝试将布尔值
True
分配给所述子集:

df['mycolumn'][df['myothercolumn'] == val][idx: idx + 25] = True
但是,当我切片
df['mycolumn'][df['myothercolumn']==val][idx:idx+25]
时,仍然可以找到初始值。换句话说,没有应用更改

我要把头发扯下来。我做错了什么?

试试这个:

df.loc[df['myothercolumn']==val, some_column_name] = True

some\u column\u name
应该是要添加或更改的列的名称。

阅读以下内容:,修改副本时,使用.loc或.ix,df.loc[行上的布尔值,列选择器]=True@Jeff,我一定会读的,虽然那是一本很好的百科全书!谢谢你的快速修复!我只是想展示“返回视图与副本”部分。这应该可以解释这个问题(当然我也建议你阅读整个文档!)@Jeff,啊,好的!谢谢你的澄清。我相信我会在某个时候读完整本书;-)