一、什么是Pandas库
Pandas是python的第三方库,他用于灵活的数据操作,数据可视化,数据清洗,数据的聚合和转换,数据的可视化
二、安装pandas库
在终端中运行
pip install pandas
导入Pandas库并重命名为pd
import pandas as pd
三、操作教学
1.基础操作
我想存储一些人的信息和对应的数据
import pandas as pd
df = pd.DataFrame({"Name": ["Alice", "Bob", "Charlie"],"Age": [25, 30, 35],"City": ["New York", "Los Angeles", "Chicago"]}
)
print(df)
结果如下:
DataFrame是一个二维数据结构,可以存储 不同类型的 (包括字符、整数、浮点值、 分类数据等)。它类似于电子表格,每一行都有自己的列标签和值
2.拿取指定列的数据
df['City']
打印的结果为:
3.从头开始创建DataFrame
a = pd.Series(["黑色","红色","白色"],name="color")
print(a)
我们打印出来的结果是:
4.如果你只是对你表的统计的数据感兴趣的话
df = pd.DataFrame({"Name": ["Alice", "Bob", "Charlie"],"Age": [25, 30, 35],"City": ["New York", "Los Angeles", "Chicago"]}
)
print(df.describe())
结果为:
5.分析csv文件中的数据
如果只读取数据
df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df)
结果为:
如果你只想看前几行的数据
df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df.head(8))
结果为:
如果你想分析每列的数据类型
df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df.dtypes)
结果为:
如果你想读取更加详细的数据
df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df.info)
结果为:
6.excel表格的操作
与csv同理,读取方法换成read_excel()这个就可以了
7.如何选择感兴趣的列呢
df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df['order_no'])
结果为:
需要选择多个列直接使用逗号拼接在中括号里面就OK了
如果你想知道返回数据的行数以及列数
df = pd.read_csv("C:/Users/23226/Desktop/order_food.csv")
print(df[["order_no"]].shape)
结果为:
请注意,返回的数据包括行数和列数
如果你想筛选固定条件的数据
above_35 = df[df["Age"] > 35]
结果为:
如果你想检查数据是否大于某个值:
df["Age"] > 35
结果为:
如果你对某个列中的多个值的数据感兴趣
class_23 = df[df["Pclass"].isin([2, 3])]
isin中放入的是数据,df中放置的是列名
结果为:
那么组合多个条件查询怎么办呢
df[(df["Pclass"] == 2) | (df["Pclass"] == 3)]
结果为:
如果你想验证列中的数据是不是空值
age_no_na = df[df["Age"].notna()]
筛选出所有“Age”列不为缺失值(NaN)的行,并将结果存储在一个新的 DataFrame 变量
结果为
那么如果我对一个列名下35以上的人的姓名感兴趣呢
adult_names = df.loc[df["Age"] > 35, "Name"]
结果为:
如果我对特定行到特定行,特定列到特定列的数据感兴趣
df.iloc[9:25, 2:5]
结果为:
切记
-
选择数据子集时,使用方括号。
[]
-
在这些括号内,您可以使用单个列/行标签、列表 的列/行标签、标签切片、条件表达式或 一个冒号。
-
使用行时选择特定行和/或列 和列名称。
loc
-
使用 在表中的位置。
iloc
-
您可以根据 / 为选择分配新值。
loc
iloc
8.增加列
df = pd.read_excel("C:/Users/23226/Desktop/ce.xlsx",sheet_name="sheet")
print(df)
df["超级无敌"] = df["实付金额"]*100
print(df.head())
等号前面为你要新增加的列名,后面是原本存在的列名,执行之后会帮我们新建一个列名“超级无敌”
运行结果为:
且等号后面的数据是可以和其他类的数据运算或者直接运算的
9.修改列名
df = pd.read_excel("C:/Users/23226/Desktop/ce.xlsx", sheet_name="sheet")
print(df)
c = df.rename(columns={"订单编号": "订单ID"})
print(c)
columns中键值对里面的key是原表格中的列,value是要替换的列名
结果为: