赞
踩
1、改行列标题
- df.columns = ['name','gender','age'] #尽管我们只想把’sex’改为’gender’,但是仍然要把所有的列全写上,否则报错。
- df.rename(columns = {'name':'Name','age':'Age'},inplace = True) #只修改name和age。inplace若为True,直接修改df,否则,不修改df,只是返回一个修改后的数据。
- df.index = list('abc')#把index改为a,b,c.直接修改了df。
- df.rename({1:'a',2:'b',3:'c'},axis = 0,inplace = True)#无返回值,直接修改df的index。
2、改数值
- df.loc[1,'name'] = 'aa' #修改index为‘1’,column为‘name’的那一个值为aa。
- df.loc[1] = ['bb','ff',11] #修改index为‘1’的那一行的所有值。
- df.loc[1,['name','age']] = ['bb',11] #修改index为‘1’,column为‘name’的那一个值为bb,age列的值为11。
- df.iloc[1,2] = 19 #修改某一无素
- df.iloc[:,2] = [11,22,33] #修改一整列
- df.iloc[0,:] = ['lily','F',15] #修改一整行
3、对整个DataFrame中的指定数据进行替换
- #A替换为aaa,B替换为bbb,4替换为100
- df_1=df.replace(to_replace=['A','B',4],value=['aaa','bbb',100])
- #将A替换为AAAA
- df_2=df.replace(to_replace='A',value='AAAA')
- #将A替换为AAAAA,5替换为2000
- df_3=df.replace(to_replace={"A":'AAAAA',5:2000})
4、常量数据修改
- df1=df.copy()
- df1['col_1']='H'
- df1.loc[['a','c','d'],'col_2']=100 #将指定索引的列值进行修改
- df1.iloc[4:,-1]=200
5、对DataFrame列中的多个值进行修改
- df2=df.copy()
- df2['col_1']=list(range(7))
- df2.loc[df2.index<='d','col_2']=np.array([15,20,25,30])
- df2.iloc[4:,-1]=np.array([10,5,0])
6、使用Series型数据来修改DataFrame列的值
- df3=df.copy()
- df3['col_1']=pd.Series([1,2,3,4,5,6,7]) #索引不对齐时不会报错,但没有成功修改列值。
- df3.loc[['a','b','c'],'col_2']=pd.Series([100,200,300],index=list('abc'))
- df3.iloc[3:,-1]=pd.DataFrame([[4000],[5000],[6000],[7000]],index=list('cdef'))
7、对DataFrame中的不同列指定不同的替换方式
- #对于col_1列:将A替换为1,B替换为2
- #对于col_2列:将A替换为100,B替换为200
- df_4=df.replace({"col_1":{'A':1,'B':2},"col_2":{"A":100,"B":200}})
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。