DataFrame操作 – 第一部分

作者 : 慕源网 本文共5477个字,预计阅读时间需要14分钟 发布时间: 2021-10-7 共168人阅读
到目前为止,我们已经学习了 Pandas 中的很多概念,
现在我们将了解我们可以对dataFrames执行的各种操作,
DataFrame操作 - 第一部分
上面提到的所有这些类别都执行可能有助于不同类型数据分析的各种操作。所以,让我们现在深入研究它们,

二元运算

二进制意味着“两个”,如果我们在两个元素之间执行任何操作,那么它就是一个二进制操作。这包括加法、减法、乘法和除法。由于我们这里考虑的是dataFrames,所以它们的操作是关于两个dataFrames的,比如两个dataFrames的元素相加、相减或相乘。
+ , add(), rad()
  • 如果 2 个dataFrames 都是数字并且我们想要添加这 2 个dataFrames,那么我们使用“+”。语法
    dataFrame1-dataFrame2
  • 对于添加 2 个数据帧,我们还可以使用“add()”方法。语法
    dataFrame1.add(dataFrame2)
  • 另外,你可以使用’radd()’,它和add()的作用相同,区别在于如果我们想要A+B,我们使用add(),否则如果我们想要B+A,我们使用radd() . 它不会有任何区别,但当我们需要减法和除法时它会有意义。) 

    语法
    dataFrame1.radd(dataFrame2)

import pandas as pd    
    
dict1= {'A':[85,73,98], 'B':[60,80,58], 'C':[90,60,74], 'D': [95,87,92] }    
    
df1=pd.DataFrame(dict1,index=['0','1','2'])    
print("This is df1:")    
print(df1)    
print('\n')    
    
dict2= {'A':[85,73,98], 'B':[60,80,58], 'C':[90,60,74], D': [95,87,92] }    
    
df2=pd.DataFrame(dict2,index=['0','1','2'])    
print("This is df2:")    
print(df2)    
print('\n')    
    
df3=df1+df2    
print("Using '+', This is df1+df2 :")    
print("This is df3:")    
print(df3)    
print('\n')    
    
df4=df2.add(df3)    
print("Using 'add()', This is df2+df3 :")    
print("This is df4:")    
print(df4)    
print('\n')    
    
df5=df3.radd(df4)    
print("Using 'radd()', This is df4+df3:")    
print(df5)  

输出

DataFrame操作 - 第一部分

– , sub(),rsub()
  • 如果要在 2 个dataFrames 内执行减法,则可以使用“-”或方法“sub()”。语法
    dataFrame1-dataFrame2

    语法
    dataFrame1.sub(dataFrame2)

  • 如上所述,如果您想要 AB,则使用 ‘sub()’,但如果您想要 BA,则使用 ‘rsub()’语法
    dataFrame1.rsub(dataFrame2)

     

  • 对于B-A,你也可以使用,语法
    dataFrame2-dataFrame1
import pandas as pd    
    
dict1= {'A':[85,73,98], 'B':[60,80,58],'C':[90,60,74], 'D': [95,87,92] }    
    
df1=pd.DataFrame(dict1,index=['0','1','2'])    
print("This is df1:")    
print(df1)    
print('\n')    
    
dict2= {'A':[8,7,9], 'B':[6,8,5], 'C':[9,6,7], 'D': [5,8,2] }    
    
df2=pd.DataFrame(dict2,index=['0','1','2'])    
    
print("This is df2:")    
print(df2)    
print('\n')    
    
df3=df1.sub(df2)    
print("Using 'sub()', This is df1-df2 :")    
print(df3)    
print('\n')    
    
df4=df1.rsub(df2)    
print("Using 'rsub()', This is df2-df1 :")    
print(df4)   

输出

DataFrame操作 - 第一部分

* , mul(), rmul()
如果要乘以 2 个dataFrames ,则可以使用“*”或方法“mul()”。
句法
dataFrame1*dataFrame2
句法
dataFrame1.mul(dataFrame2)
‘rmul()’ 的作用与 radd() 相同
句法
dataFrame1.rmul(dataFrame2)
import pandas as pd    
    
dict1= {'A':[85,73,98], 'B':[60,80,58], 'C':[90,60,74], D': [95,87,92] }    
    
df1=pd.DataFrame(dict1,index=['0','1','2'])    
print("This is df1:")    
print(df1)    
print('\n')    
    
dict2= {'A':[8,7,9], 'B':[6,8,5], 'C':[9,6,7], 'D': [5,8,2] }    
    
df2=pd.DataFrame(dict2,index=['0','1','2'])    
print("This is df2:")    
print(df2)    
print('\n')    
    
df3=df1*df2    
print("Using '*', This is df1*df2 :")    
print("This is df3:")    
print(df3)    
print('\n')    
    
df4=df2.mul(df3)    
print("Using 'mul()', This is df2*df3 :")    
print(df4)   

输出

DataFrame操作 - 第一部分
/ , div(), rdiv()
  • 如果要在 2 个dataFrames 内执行除法,则可以使用“/”或方法“div()”。语法
    dataFrame1/dataFrame2

    语法
    dataFrame1.div(dataFrame2)

  • 如上所述,如果您想要 A/B,则使用 ‘div()’,但如果您想要 B-A,则使用 ‘rdiv()’语法
    dataFrame1.rdiv(dataFrame2)
  • 对于 B/A,你也可以使用,语法
    dataFrame2/dataFrame1
import pandas as pd    
    
dict1= {'A':[85,73,98], 'B':[60,80,58], 'C':[90,60,74], 'D': [95,87,92] }    
    
df1=pd.DataFrame(dict1,index=['0','1','2'])    
print("This is df1:")    
print(df1)    
print('\n')    
    
dict2= {'A':[8,7,9], 'B':[6,8,5], 'C':[9,6,7], 'D': [5,8,2] }    
    
df2=pd.DataFrame(dict2,index=['0','1','2'])    
print("This is df2:")    
print(df2)    
print('\n')    
    
df3=df1/df2    
print("Using '/', This is df1/df2 :")    
print("This is df3:")    
print(df3)    
print('\n')    
    
df4=df3.div(df2)    
print("Using 'div()', This is df3/df2 :")    
print(df4)    
print('\n')    
    
print("Using 'rdiv()', This is df2/df1 :")    
df5=df1.rdiv(df2)    
print(df5)    

输出

DataFrame操作 - 第一部分

检查功能

顾名思义,这些函数用于检查,或者您可以说检查dataframe。为了收集信息或了解dataframe的详细描述,使用了这些检查功能。
这些对2种,
  1. info()
  2. describe()
让我们简单地了解它们,
info()
如果你想收集关于特定dataFrame 的任何信息,比如有多少行、多少列、它的数据类型是什么、它使用了多少内存等,那么我们使用方法“info()”
info() 方法为您提供 7 个部分的输出,
  1. 类型 – 给出对象的数据类型,这是给定的数据帧
  2. 行数- 打印编号。行和行名称
  3. 列数 – 打印数 列和列名
  4. 所有列的描述
  5. 数据类型 – 显示每列的数据类型(如果不同)
  6. 内存使用情况
  7. Null Count
import pandas as pd    
    
dict= {'A':[85,73,98], 'B':[60,80,58], 'C':[90,60,74], 'D': [95,87,92] }    
    
df=pd.DataFrame(dict,index=['0','1','2'])    
print(df)    
print("\n")    
print(df.info()   

输出

DataFrame操作 - 第一部分

describe()

如果您想要特定dataFrame的描述,如均值、标准差、非 NA 值计数等统计信息,请使用方法“describe()”。
describe() 方法为您提供 8 个部分的输出,
  1. 每列中非 NA 值的计数
  2. 每列的平均值
  3. 每列的标准偏差
  4. 每列中的最小值
  5. 每列的 25%
  6. 每列的 25%
  7. 每列的 25%
  8. 每列中的最大值
import pandas as pd    
    
dict= {'A':[85,73,98], 'B':[60,80,58], 'C':[90,60,74], 'D': [95,87,92] }    
    
df=pd.DataFrame(dict,index=['0','1','2'])    
print(df)    
print("\n")    
print(df.describe()) 

输出

DataFrame操作 - 第一部分

3.检索头行和尾行
  • 如果要显示dataFrame的前 5 行,请使用-‘head()’。
  • 如果要显示dataFrame的底部 5 行,请使用-‘tail()’。
  • 如果要显示dataFrame的前 7 行,请使用-‘head(7)’
  • head() 和 tail() 方法的默认值是: 5.语法

dataFrame.head()
dataFrame.tail()

dataFrame.head(7)
import pandas as pd    
    
dict= {'A':[85,73,98,59,27,78,99,36,58,24,25,32],     
'B':[60,80,58,78,52,54,89,63,54,87,52,65],    
'C':[90,60,74,69,98,74,23,65,45,78,98,98],    
'D':[55,27,92,56,78,88,78,89,23,45,54,34],    
'E':[91,12,98,63,98,97,45,96,91,32,65,76]    
}    
    
df=pd.DataFrame(dict,index=['0','1','2','3','4','5','6','7','8','9','10','11'])    
print(df)    
print("\n")    
    
print("Using head():","\n",df.head())    
print("\n")    
print("Using tail():","\n",df.tail())    
print("\n")    
print("Top 7 rows:","\n",df.head(7)) 

输出

DataFrame操作 - 第一部分
4.Iteration(迭代)
有时您可能希望单独查看行或列的每个项目。在这些场景中,我们使用迭代
  • 如果你想分开所有的行或者你想分别查看每一行的项目,那么使用’iterrows()’。
  • iterrows() 将逐行迭代 dataFrame。
  • 这里每个水平子集的形式是 – (row_index, columnNames_and_values)
import pandas as pd      
      
dict= {'A':[85,73,98], 'B':[60,80,58], 'C':[90,60,74], 'D': [95,87,92] }      
      
df=pd.DataFrame(dict,index=['0','1','2'])      
print(df)      
print("\n")      
      
for row,row_series in df.iterrows():    
    print("Row Index:",row)    
    print("Columns Names and Values:","\n",row_series,"\n") 

输出

DataFrame操作 - 第一部分

  • 如果要分隔所有列或要单独查看每列的项目,请使用“iteritems()”。
  • iteritems() 将按列迭代dataFrame 。
  • 这里每个垂直子集的形式是 – (column_index, rowNames_and_values)
import pandas as pd      
      
dict= {'A':[85,73,98], 'B':[60,80,58], 'C':[90,60,74], 'D': [95,87,92] }      
      
df=pd.DataFrame(dict,index=['0','1','2'])      
print(df)      
print("\n")      
      
for col,col_series in df.iteritems():    
    print("Column Index:",col)    
print("\n")    
i=0    
for val in col_series:    
    print("At Row",i,":",val)    
    i=i+1     

输出

DataFrame操作 - 第一部分

概括

在本文中,我们介绍了一些操作——二元操作、检查函数、检索头尾行和迭代;因此对 DataFrame-Part1 的操作
我的下一篇文章将是同一主题的第 2 部分,我们将继续对DataFrame进行更多操作,即组合DataFrame和聚合函数。
非常欢迎与本文相关的反馈或查询。
谢谢阅读!!

慕源网 » DataFrame操作 – 第一部分

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录