Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.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
Python 如何更新pandas中的多个行和列?_Python_Pandas_Csv_Dataframe_Data Manipulation - Fatal编程技术网

Python 如何更新pandas中的多个行和列?

Python 如何更新pandas中的多个行和列?,python,pandas,csv,dataframe,data-manipulation,Python,Pandas,Csv,Dataframe,Data Manipulation,我想使用pandas更新CSV文件中的多个行和列 我尝试过使用iterrows方法,但它只在单个列上有效 以下是我要应用于多行和多列的逻辑: ifvalue

我想使用pandas更新CSV文件中的多个行和列

我尝试过使用iterrows方法,但它只在单个列上有效

以下是我要应用于多行和多列的逻辑:

ifvalue<平均值: 值+=标准偏差 其他: 值-=标准偏差
这是另一种方法

考虑到您的数据如下:

  price strings value
0     1       A     a
1     2       B     b
2     3       C     c
3     4       D     d
4     5       E     f
现在让我们将字符串列作为索引:

df.set_index('strings', inplace='True')

#Result
        price value
strings
A           1     a
B           2     b
C           3     c
D           4     d
E           5     f
现在将行C、D、E的值设置为0

或者你可以做得更精确一些

df.loc[df.strings.isin(["C", "D", "E"]), df.columns.difference(["strings"])] = 0
df
Out[82]: 
  price strings value
0     1       A     a
1     2       B     b
2     0       C     0
3     0       D     0
4     0       E     0

欢迎来到StackOverflow。请花点时间阅读这篇文章,以及如何提供答案并根据答案修改您的问题检查应用-您应该添加一个小示例数据集。
df.loc[df.strings.isin(["C", "D", "E"]), df.columns.difference(["strings"])] = 0
df
Out[82]: 
  price strings value
0     1       A     a
1     2       B     b
2     0       C     0
3     0       D     0
4     0       E     0