Python —如何正确打开Pandas库的姿势
2023-01-06 09:13:38来源:爱编码的社畜
安装PandasPandas 最常用于处理数据集。它具有分析、清理、探索和操作数据的功能。"Pandas"这个名称既指"Panel Data",也指"Python Data Analysis"。,Pandas 让我们能够分析大数据并根据统计理论得出结论。Pandas 可以清理杂乱的数据集,使它们具有可读性和相关性。相关数据在数据科学中非常重要。
使用pip来安装Pandas。
pip install pandasPandas 中的数据类型
SeriesPandas 中使用了两种类型的对象。一个是“Series”,用于创建和存储一维值,例如列或行。另一个是“ DataFrame ”,可以认为是一张表:它是二维的。DataFrame 包含行和列。在数据科学中将经常使用 Pandas DataFrames。可以在 Python 中编写代码时创建 Series 和 DataFrames,但通常情况下,DataFrames 不是在 Pandas 上创建的:数据是从其他地方导入的,因为在编写程序时很难逐个键入所有数据。此数据通常采用逗号分隔值 (.csv) 文件的形式。一个 .csv 文件可以使用 Pandas 转换为 DataFrame,然后你可以用它做很多事情。
(资料图片仅供参考)
Series索引及数据列表代码示例。Series 与 NumPy 数组非常相似(实际上它构建在 NumPy 数组对象之上)。NumPy 数组与 Series 的区别在于,Series 可以具有轴标签,这意味着它可以由标签索引,而不仅仅是数字位置。它也不需要保存数字数据,它可以保存任意 Python 对象。
import pandas as pdimport numpy as npindex = ["China","Canada","Mexico"]data = [1820,1920,1921]mySeries = pd.Series(data,index)print(mySeries)ran_data = np.random.randint(0,100,4)print(ran_data)names = ["Sam","Ram","Max","Bob"]ages = pd.Series(ran_data,names)print(ages)pdSeries = pd.Series(data=[100,250,400,500],index=["Q1 Sales","Q2 Sales","Q3 Sales","Q4 Sales"],name="RedBull Sales 2021")print(pdSeries)
代码运行输出如下图所示
从Python字典生成Series代码示例。import pandas as pdage = {"Bob":15,"Frank":23,"Mailo":18}dictSeries = pd.Series(age)print(dictSeries)
代码运行输出如下图所示:
Series的命名索引,类似字典的取值方式,具体请看下面的代码示例,这里需要注意如果取值失败会直接expect错误,所以在取值的时候必须保证key跟index是存在的。import pandas as pdq1 = {"Japan": 80, "China": 450, "India": 200, "USA": 250}q2 = {"Brazil": 100,"China": 500, "India": 210,"USA": 260}sales_q1 = pd.Series(q1)sales_q2 = pd.Series(q2)print(sales_q1)print(sales_q2)print(sales_q1["India"])print(sales_q2[2])
代码运行结果如下图所示:
Series还可以做一些数学运算,下面是代码示例。import pandas as pdq1 = {"Japan": 80, "China": 450, "India": 200, "USA": 250}q2 = {"Brazil": 100,"China": 500, "India": 210,"USA": 260}sales_q1 = pd.Series(q1)sales_q2 = pd.Series(q2)print(sales_q1.keys()) # 取Series的keyprint(sales_q1.values) # 取Series的valuesnew_sales_q1 = sales_q1 * 2print(new_sales_q1)float_sales_q1 = sales_q1 /100print(float_sales_q1)
代码运行输出结果如下图所示:
DataFrames创建DataFrame对象。Pandas DataFrame 是一种二维数据结构,如二维数组或具有行和列的表。
import pandas as pdimport numpy as npnp.random.seed(10)data = np.random.randint(0,101,(4,3))print(data)x = ["CA","NY","AZ","TX"]y = ["Jan","Feb","Mar"]df = pd.DataFrame(data,x,y)print(df)
代码运行结果输出如下图所示:
从字典创建DataFrame对象。import pandas as pddict_data = pd.DataFrame({"baidu": [10000,20000], "aliyun":[30000,45000]}, index = ["Exicutive","Techie"])print(dict_data)
代码运行结果输出如下图所示:
读取csv文件创建DataFrame对象。读取csv文件需要安装xlrd跟openpyxl模块。
pip install xlrdpip install openpyxl
import pandas as pddf_csv = pd.read_csv("Employees.csv") # 读取csv文件#df_excel = pd.read_excel("xxx.excel") #读取excel文件print(df)
代码运行结果输出:
获取DataFrame的基本信息。返回所有列名import pandas as pddf = pd.read_csv("Employees.csv")df.columns返回前几行数据
import pandas as pddf = pd.read_csv("Employees.csv")df.head(5)返回后几行数据
import pandas as pddf = pd.read_csv("Employees.csv")df.tail(3)获取数据info
import pandas as pddf = pd.read_csv("Employees.csv")df.info生成描述性统计
import pandas as pddf = pd.read_csv("Employees.csv")df.describe() df.describe().transpose() # 改变表格的对齐方式
单个条件如何过滤数据呢?
针对每一行进行测试的单个条件,比如head,tail函数。
多个条件可以在一行中测试多个条件。以下示例返回由女性且工资大于 5000的情况。
import pandas as pddf = pd.read_csv("Employees.csv")filter1 = df["工资"] > 5000filter2 = df["性别"] == "F"result = filter1 & filter2df[result].head(3)使用查询方法
查询方法提供了一种替代方法,通常是一种比上述方法更易读的过滤数据的方法。表示条件的字符串被传递给查询方法以过滤数据。
import pandas as pddf = pd.read_csv("Employees.csv")df.query("工资 > 8000").head(2)import pandas as pddf = pd.read_csv("Employees.csv")df.query("工资 > 5000 and 性别 =="F"")聚合方法
聚合的技术定义是用单个数字汇总一系列值。例如 sum、mean、median、max 和 min 都是聚合方法的例子
import pandas as pddf=pd.DataFrame({"user":["Alice","Tom","Bob","Alice","Bob","Alice"],"money":range(6)})df.groupby(["user"]).sum() # sum聚合结论
这些是 Pandas 中基本操作的一些示例。在 Pandas 中还能够创建数据可视化。
本文转载自微信公众号「爱编码的社畜」,可以通过以下二维码关注。转载本文请联系爱编码的社畜公众号。