常用导入包
import numpy as np
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
from tqdm import tqdm # 进度条
#运行以下代码可以让Python不显示warnings
import warnings
warnings.filterwarnings("ignore")
输入、输出数据
(1)输入
data = pd.read_table(r"输入地址",
sep=',', #分隔符,也可填\t
dtype="xxx", #字段类型
encoding="xxx" #可填gbk
)
注:常用的还包括pd.read_csv()、pd.read_excel()等。
(2)输出
data.to_csv(r"输出地址", sep=',',index=False)
查看数据信息
data.columns #查看数据框的标签
data.info() #查看数据框的信息
按条件筛选出欲保留行列
(1)筛选出欲保留的列
data = data[['列名1', '列名2', '列名3']]
(2)筛选出欲保留的行
①单条件筛选
data = data [data ["列名"]=="xxx"]
②isin()函数筛选
data = data [data ["列名"].isin([xxx,xxx,xxx])]
③多条件筛选
data = data [(data ["列名1"]=="xxx") & (data ["列名2"]=="xxx")] #&为且,|为或
data = data [~(data ["列名"]=="xxx")] #~为取反
按条件删除行
(1)删除所有含空值的行
data = data.dropna()
(2)删除“某列=指定值”行
data = data.drop(列名=['值1','值2'])
更新行数据
(1)更新指定行的数值
print(data[data['列名'] == 值])
data.loc[data['列名'] , '列名'] = 更新值
(2)将NaN替换为特定值
data= data.fillna(
'更新值', # NaN的替换值
inplace=False # 是否更换源文件
)
print(data)
修改标签名
data.rename(columns={'标签名1':'重命名1','标签名1':'重命名1'})
设置索引列
(1)以已有列作为索引列
data.set_index('已有列名',inplace = True) # inplace参数是否创建一个新的dataframe,默认false则创建新的dataframe,为true时修改原dataframe
(2)添加递增列作为索引列
data ['新增列名'] = range(len(data))
data.set_index('新增列名',inplace = True)
更改字段类型
data['列名']= data['列名'].astype('xxx') #xxx可填float等
新增字段并计算
result['新增字段名']=result['列名1']-result['列名2'] #此处仅为展示语法
按关键字段连接
result = pd.merge(表A, 表B, on="关键字段")
分组统计
(1)按一列分组统计
result = data.groupby('分组列')['统计列']**.mean()**.rename('统计结果列命名').reset_index()
(2)按二列分组统计
tmp1 = station_data.groupby(["分组列1","分组列2"])['统计列'].mean().rename('统计结果列命名).reset_index()
mean()又可以更换为sum()、min()、max()等