我想使用pandas更新CSV文件中的多行和多列。
我尝试过使用iterrows()方法,但它只适用于单个列。
下面是我想要应用于多行和多列的逻辑:
if(value < mean):
value += std_dev
else:
value -= std_dev发布于 2019-09-01 19:36:29
这是另一种方法,
考虑一下你的数据是这样的:
price strings value
0 1 A a
1 2 B b
2 3 C c
3 4 D d
4 5 E f现在让我们将strings列作为索引:
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[['C', 'D','E']] = 0
#Result
price value
strings
A 1 a
B 2 b
C 0 0
D 0 0
E 0 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 0https://stackoverflow.com/questions/57745575
复制相似问题