pandas --基础操作(二) :DataFrame 的增删改查、排序操作等基础操作

本文是Python数据分析之pandas的使用系列的第二章,主要讲解DataFrame的基础操作,包括数据的增删改查,排序,index和columns的重命名,.dt访问器的运用,searchsorted()函数以及最大值和最小值的提取。内容详细,适合初学者参考。
摘要由CSDN通过智能技术生成

第一章 Python 数据分析之pandas的使用

第一章 Python 数据分析之pandas的使用
第一节: pandas --基础操作(一): Serise 、DataFrame 创建和数据选择 基础操作
第二节: pandas – 基础操作(二): DataFrame 的增删改查、排序操作等基础操作
第三节: pandas – 基础操作(三):pandas 层次化索引创建、数据选择
第二章 Python 数据分析之 时间戳操作
第二章 python 数据分析之numpy的使用
第三章 python 数据可视化之matplotlib的使用


参考: https://pandas.pydata.org/pandas-docs/version/0.25.0/user_guide/advanced.html


前言

pandas — DataFrame基础操作(一),主要介绍的是series 和DataFrame的创建、查看数据、选择数据和缺失值的处理。接下来是对DataFrame基础操作的增删改查,其中查即为上一节的选择数据,还包括index和columns的常用的操作方法。


提示:以下是本篇文章正文内容,下面案例可供参考

一、二维 dataFrame 基础操作

1.1 df 数据的增、删、改、查

备注: axis=0 表示列,axis=1 表示行

(1) 增

# 【按列增加】
dd=['aa','bb','cc']
df.insert(0,'dd',dd)# 在第0列,添加名称为dd ,值为dd的数据
job =['aa','bb','cc','dd']
df['job']=job #添加job列
df.loc[:,'job']=['aa','bb','cc'] # 在df最后一列添加job

【按行增加】
df.loc[4]=['aa','bb','cc']  # 在第4行添加等号后边的数据
df_insert = pd.DataFrame({
   'job':['aa','bb','cc']},index=[5])
ndf = df.append(df_insert,ingore_index = True) # df_insert  添加的列,ingore_index 默认为False ,不忽略index的值,新生成的df采用df_index的index,True为自己默认生成。

(2) 删

  • pop 弹出: a = df.pop(‘columns’) # a 为弹出的内容,df为剩下内容:改变原数据
df =pd.DataFrame({
   'a':[1,2,3],'b':[11,12,13],'c':[111,122,133]})
df
   a   b    c
0  1  11  111
1  2  12  122
2  3  13  133
df.pop('a')
0    1
1    2
2    3
Name: a, dtype: int64
df
    b    c
0  11  111
1  12  122
2  13  133
  • del df[‘columns’] # 直接在原数据上修改,删除对应列
del df['b']
df
     c
0  111
1  122
2  133
  • drop :不改变原数据

    • columns名称操作

      b = df.drop(['columns1',‘columns2’],axis=1,inplace=False)  
      # b 为删除后新的df,单列多列都可操作
      
    • columns列标号操作:对应的是列的标号,并非名称

       x=[1,2] # 1,2为列的标号 
       c =  df.drop[df.columns[x],axis=1,inplace=False]
      
# 列名称操作
df =pd.DataFrame({
   'a':[1,2,3],'b':[11,12,13],'c':[111,122,133]})
df
   a   b    c
0  1  11  111
1  2  12  122
2  3  13  133
df.drop(['a','b'],axis=1,inplace=False)
     c
0  111
1  122
2  133

#  列标号操作
x=[1,2]
c = df.drop(df.columns[x],axis=1,inplace=False)
c
   a
0  1
1  2
2  3

(3) 改
df.loc操作

df
   a   b    c
0  1  11  111
1  2  12  122
2  3  13  133
df.loc[0,['a','b']] =['aa','bb']   # 'a'列和'b'列第一行的数据修改
df
    a   b    c
0  aa  bb  111
1   2  12  122
2   3  13  133
df.loc[:,'a'] = ['01','02','03'] # 'a' 列整列数据的修改
df
    a   b    c
0  01  bb  111
1  02  12  122
2  03  
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值