pandas在不改变格式的情况下更改colum值

时间:2018-02-01 23:49:52

标签: python pandas

我有一张10000行的Excel表格。 我必须根据Colum2的值更改Colum5的值并更新excel表。

我可以使用以下方法更改值:

import numpy as np
df=pd.read_excel('part2.xlsx')
count=0

while (count<10000):
     if df['Grade'][count] == 'A' :
         #df.loc[df['Grade'][count]] = 'Good'
         df['Grade'][count] = 'Good'
         print(count)
         print(df['Grade'][count])
     count=count+1

df.to_excel('temp.xlsx')

问题是因为我正在写一个新的Excel工作表,所有格式都消失了。 我想在同一个excelsheet中实现相同的功能,以便不删除格式。

2)在这里保留df.loc是否有用?

1 个答案:

答案 0 :(得分:0)

使用.loc

df=pd.DataFrame({'Grade':['A','B','C','A','D']})
df.loc[(df.Grade=='A')&(df.index<3),'Grade']='Good'
df
Out[489]: 
  Grade
0  Good
1     B
2     C
3     A
4     D

更多信息

(df.Grade=='A')&(df.index<3)
Out[296]: 
0     True
1    False
2    False
3    False
4    False
Name: Grade, dtype: bool