内容正文:
专项代码3 Pandas代码
import pandas as pd
import matplotlib.pyplot as plt
dic = {"城市名称": ["杭州", "宁波", "宁波", "绍兴"],
"区域": ["余杭", "镇海", "北仑", "柯桥"],
"人均GDP": [125894, 202658, 227856, 215678],
"城区人口": [2014570, 695710, 445687, 115678],
"人均汽车保有量(辆)": [0.8, 0.71, 0.66, 1.02]
}
df = pd.DataFrame(dic) # 将字典转成Pandas的对象
---------------------------------------------------------------------
新增一列(人均住房面积)当df中不存在人均住房面积这一列时,就新增一列
df["人均住房面积"] = [39.45, 37.77, 58.86, 29.55]
修改一列(人均住房面积)当df中存在人均GDP这一列时,就修改一列
df["人均GDP"] = [39.45, 37.77, 58.86, 29.55]
---------------------------------------------------------------------
修改单个的值。[将余杭的人均GDP改为156980]
df.at[0, "人均GDP"] = 156980
at方法传入两个参数,第一个参数是索引值,第二个是列名
---------------------------------------------------------------------
删除列(删除人均住房面积)
df.pop("人均住房面积") # 传入列名,删除该列
df = df.drop(labels=["人均住房面积"], axis=1)
不影响原值。传入两个参数,labels=[列名],axis=1:表示列。0表示行
---------------------------------------------------------------------
删除行
df=df.drop(labels=[0,1],axis=0)
# 不影响原值。传入两个参数,labels=[行索引1,行索引2],axis=1:表示列。
---------------------------------------------------------------------
# 取某一列的值
df.城市名称 # 写法1
df["城市名称"] # 写法2
---------------------------------------------------------------------
# 取某一列其中某一行的值,例如取城市名称列的第0行的值
df["城市名称"][0] # 写法1
df.城市名称[0] # 写法2
df.at[0, "城市名称"] #写法3。需要传入两个参数,参数1是行索引,参数2是列名
---------------------------------------------------------------------
df.max(axis=0) # 求所有列的最大值,axis=1:表示行。0表示列
df.min(axis=0) # 求所有列的最小值,axis=1:表示行。0表示列
df.mean(axis=0) # 求所有列的平均值,axis=1:表示行。0表示列
df.sum(axis=0) # 求所有列的和,axis=1:表示行。0表示列
df.count(axis=0) # 求所有列的数量,axis=1:表示行。0表示列
---------------------------------------------------------------------
# 查询城市名称为宁波的所有行
df[df.城市名称 == "宁波"] # 写法1
df[df["城市名称"] == "宁波"] # 写法2
---------------------------------------------------------------------
# 查询城市名称为宁波,区域为镇海的所有行 &:表示且,pandas中不能用and
df[(df.城市名称 == "宁波") & (df.区域 == "镇海")] # 写法1
df[(df["城市名称"] == "宁波") & (df["区域"] == "镇海")]