Python数据处理
需要的库:
Pandas:数据操作的基石,提供 DataFrame(类似Excel表)和 Series(一列数据)数据结构。
NumPy:科学计算的基础,提供高性能的多维数组对象和数学函数。
Matplotlib:基础的可视化库,高度可定制。
Seaborn:基于 Matplotlib,提供更高级、更美观的统计图表,语法更简洁。
Scikit-learn:机器学习库,也提供了丰富的数据预处理工具。
openpyxl:打开excel数据必须要下载
一、excel类型+时间
import pandas as pd
import datetimefile_path='采集点1_2022111500-0072110329.xlsx'
#file_path="采集点1_2022111500-0072110329.xlsx"#单双引号都可以
df=read_excel(file_path,sheet_name='sheet1')
print(df.head(n=5))#输出前5行
print(df.tail(n=5))#输出后5行
print(df.info())#输出数据的信息
df['采集日期']=pd.to_datetime(df['采集日期'])#转换数据类型,以便后续处理时间
df['日期']=df['采集日期'].dt.date#提取日期
df['日期']=df['采集日期'].dt.year#提取年份
df['日期']=df['采集日期'].dt.time#提取时间#计算日均气温,按照时间分组
daily_avg_temp=df.groupby('日期')['测点温度(℃)'].mean().round(2)#两位小数#保存excel格式
daily_avg_temp.to_excel('采集点1日均气温.xlsx')#保存csv格式
daily_avg_temp.to_csv('采集点1日均气温.csv')#多表格合并
file_path=['采集点1_2024111500-0072110329.xlsx','采集点2_2024111500-0072110419.xlsx','采集点3_2024111500-0072110523.xlsx','采集点4_2024111500-0072310007.xlsx','采集点5_2024111500-0072310009.xlsx','采集点6_2024111500-0072310061.xlsx','采集点7_2024111500-0072310417.xlsx','采集点8_2024111500-869324057172789.xlsx','采集点9_2024111500-869324057176459.xlsx','采集点10_2024111500-869324057186292.xlsx'
]all_data=[]for file in file_path:df=pd.read_excel(file)df['采集时间']=pd.to_datetime(df['采集时间'])df['日期']=df['采集时间'].dt.datedaily_avg_temp=pd.groupby('日期')['测点温度(℃)'].mean()all_data.append(daily_avg_temp)all_data=pd.concat(all_temp,axis=1)#沿着列的方向拼成一个DateFrame,否则格式不对all_date.to_csv('地点1第三年日均气温.csv')
二、csv类型
默认第一列为索引
#读
df=pd.read_csv("地点1第三年日平均气温.csv",index_col=0)#第一列为日期索引,不用读,
#防止后面计算温度错误
df['日均气温']=df.mean(axis=1)#对每一行求均值
#重新写入,否则再次打开的还是旧文件
df.to_csv("地点1第三年日平均气温.csv")
df['新列']=……只储存在内存里的DataFrame,print(df)能够将新数据打印到屏幕,再次打开csv还是旧文件,因为没写盘
只有显式调用 to_csv()
/ to_excel()
才会真正把修改落盘。