当前位置:   article > 正文

pandas修改DataFrame行/列/字段值_pandas修改某一行的值

pandas修改某一行的值
增加/修改一列

有如下几种方法增加一列:

  • 增加具有相同值的一列
import pandas as pd    
    
dict= {'English':[85,73,98], 'Math':[60,80,58], 'Science':[90,60,74], 'French': [95,87,92] }    
    
df=pd.DataFrame(dict,index=['2018','2019','2020'])    
print(df)    
print('\n')    
    
print('Adding new column:')    
print('\n')    
df['Economics']=99    
print(df)    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

结果如下:

在这里插入图片描述

  • 增加定制值的一列,此方法也可以修改原有值
df['Economics']=99  

df['Economics']=[99,85,56]
print(df)    

df.at[:,'Economics']=[78,85,74] 
print(df)    

df.loc[:,'Economics']=[94,87,86]
print(df)    

df2=df.assign(Economics=[92,81,66])    
print(df)    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

输出如下:

在这里插入图片描述

增加/修改一行

语法基本同列,直接上代码:

# 增加具有相同值的一行
df.at[2021,:]=100    
print(df)    

# 定制值,该方法也可修改该行原有值
df.loc['2022',:]=[89,21,87,59,22]    
print(df) 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出如下:

在这里插入图片描述

删除列

代码:

# 只有删除一列
del df['Economics']  

# 可删除多列,有多个参数,其中,axis=1表示列,0表示行,inplace表示是否本地修改,默认False,返回修改后的df,原df不变,True则表示修改原来的df
df.drop(['English','Science'],axis=1,inplace=True)
  • 1
  • 2
  • 3
  • 4
  • 5

结果如下:

在这里插入图片描述

删除行

使用drop即可:

import pandas as pd    
    
dict= {'English':[85,73,98], 'Math':[60,80,58], 'Science':[90,60,74], 'French': [95,87,92] }    
    
df=pd.DataFrame(dict,index=['2018','2019','2020'])    
df.at[2021,:]=100    
df.at[2022,:]=[99,98,97,96]    
print(df)    
print('\n')    
    
print('Deleting a row:')    
print('\n')    
df.drop(['2019'],axis=0,inplace=True)    
print(df)    
print('\n')    
    
print('Deleting multiple rows:')    
print('\n')    
df.drop(df.index[[0,2]],axis=0,inplace=True)    
print(df)     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

结果如下:

在这里插入图片描述

修改指定值

可以基于指定的列名和行名修改,也可以根据指定的行号和列号修改。

示例如下:

import pandas as pd    
    
dict= {'English':[85,73,98], 'Math':[60,80,58], 'Science':[90,60,74], 'French': [95,87,92] }     
df=pd.DataFrame(dict,index=['2018','2019','2020'])   
print(df)    

# 基于指定的列名和行名修改
using_name=df.Math['2019']=99    
print(df)    

# 根据指定的行号和列号修改
using_index=df.iloc[2,2]=99    
print(df)    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

结果如下:

在这里插入图片描述

小结

DataFrame提供了丰富的方法来操作数据,可以方便地对行列进行增删改操作。

参考资料:https://www.c-sharpcorner.com/article/add-assign-and-modify-values-in-dataframe/

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/635085
推荐阅读
相关标签
  

闽ICP备14008679号