当前位置: 首页 > news >正文

DataFrame数据分析入门

一、to_datetime()进行日期格式转换

1)将字符串字段转换为日期类型

importpandasaspd#gmv是营业额df=pd.DataFrame({"gmv":[100,200,300,400,500],"trade_data":["2019-01-01","2019-01-02","2019-01-03","2019-01-04","2019-01-05"]})#将trade_data列转换为日期格式print(df)print(df.dtypes)df["trade_data"]=pd.to_datetime(df["trade_data"])print(df)print(df.dtypes)
gmv trade_data 0 100 2019-01-01 1 200 2019-01-02 2 300 2019-01-03 3 400 2019-01-04 4 500 2019-01-05 gmv int64 trade_data str dtype: object gmv trade_data 0 100 2019-01-01 1 200 2019-01-02 2 300 2019-01-03 3 400 2019-01-04 4 500 2019-01-05 gmv int64 trade_data datetime64[us] dtype: object

2、时间属性访问器对象Series.dt,获取日期数据的年月日星期

#获取年月日importpandasaspd df=pd.DataFrame({"gmv":[100,200,300,400],"trade_data":["2025-01-06","2032-09-08","2024-09-08","2002-09-08"]})df['ymd']=pd.to_datetime(df['trade_data'])#df['yy'],df['mm'],df['dd'] = df['ymd'].dt.year,df['ymd'].dt.month,df['ymd'].dt.day#print(df)df["年"]=df["ymd"].dt.year df["月"]=df["ymd"].dt.month df["日"]=df["ymd"].dt.dayprint(df)#获取星期df['week']=df['ymd'].dt.day_name()#获取日期所在季度df['quarter']=df['ymd'].dt.quarter#获取日期是否为 月底 年底df['is_month_end']=df['ymd'].dt.is_month_end df['is_month_start']=df['ymd'].dt.is_month_start df['is_year_end']=df['ymd'].dt.is_year_end df['is_year_start']=df['ymd'].dt.is_year_start df1=dfprint(df)
gmv trade_data ymd 年 月 日 0 100 2025-01-06 2025-01-06 2025 1 6 1 200 2032-09-08 2032-09-08 2032 9 8 2 300 2024-09-08 2024-09-08 2024 9 8 3 400 2002-09-08 2002-09-08 2002 9 8 gmv trade_data ymd 年 月 日 week quarter is_month_end \ 0 100 2025-01-06 2025-01-06 2025 1 6 Monday 1 False 1 200 2032-09-08 2032-09-08 2032 9 8 Wednesday 3 False 2 300 2024-09-08 2024-09-08 2024 9 8 Sunday 3 False 3 400 2002-09-08 2002-09-08 2002 9 8 Sunday 3 False is_month_start is_year_end is_year_start 0 False False False 1 False False False 2 False False False 3 False False False

3、to_period()获取统计周期freq:这是 to_period() 方法最重要的参数,用于指定要转换的时间周期频率

常见的取值如下:
“D”:按天周期,例如 2024-01-01 会转换为 2024-01-01 这个天的周期。
“W”:按周周期,通常以周日作为一周的结束,比如日期落在某一周内,就会转换为该周的周期表示。
“M”:按月周期,像 2024-05-15 会转换为 2024-05。
“Q”:按季度周期,一年分为四个季度,日期会转换到对应的季度周期,例如 2024Q2 。
“A” 或 “Y”:按年周期,如 2024-07-20 会转换为 2024 。

importpandasaspd#获取年统计周期df1["ystat"]=df1["ymd"].dt.to_period(freq="Y")#获取月统计周期df1["mstat"]=df1["ymd"].dt.to_period(freq="M")#获取季统计周期df1["qstat"]=df1["ymd"].dt.to_period(freq="Q")#获取周统计周期df1["wstat"]=df1["ymd"].dt.to_period(freq="W")#获取天统计周期df1["dstat"]=df1["ymd"].dt.to_period(freq="D")print(df1)
gmv trade_data ymd 年 月 日 week quarter is_month_end \ 0 100 2025-01-06 2025-01-06 2025 1 6 Monday 1 False 1 200 2032-09-08 2032-09-08 2032 9 8 Wednesday 3 False 2 300 2024-09-08 2024-09-08 2024 9 8 Sunday 3 False 3 400 2002-09-08 2002-09-08 2002 9 8 Sunday 3 False is_month_start is_year_end is_year_start ystat mstat qstat \ 0 False False False 2025 2025-01 2025Q1 1 False False False 2032 2032-09 2032Q3 2 False False False 2024 2024-09 2024Q3 3 False False False 2002 2002-09 2002Q3 wstat dstat 0 2025-01-06/2025-01-12 2025-01-06 1 2032-09-06/2032-09-12 2032-09-08 2 2024-09-02/2024-09-08 2024-09-08 3 2002-09-02/2002-09-08 2002-09-08

二、DataFrame数据分析入门

1、加载数据集

# 1、加载数据集df=pd.read_csv("data/weather.csv")print(df)print(df.shape)print(df.dtypes)print(df.columns)print(type(df))#df.info
date precipitation temp_max temp_min wind weather 0 2012-01-01 0.0 12.8 5.0 4.7 drizzle 1 2012-01-02 10.9 10.6 2.8 4.5 rain 2 2012-01-03 0.8 11.7 7.2 2.3 rain 3 2012-01-04 20.3 12.2 5.6 4.7 rain 4 2012-01-05 1.3 8.9 2.8 6.1 rain ... ... ... ... ... ... ... 1456 2015-12-27 8.6 4.4 1.7 2.9 rain 1457 2015-12-28 1.5 5.0 1.7 1.3 rain 1458 2015-12-29 0.0 7.2 0.6 2.6 fog 1459 2015-12-30 0.0 5.6 -1.0 3.4 sun 1460 2015-12-31 0.0 5.6 -2.1 3.5 sun [1461 rows x 6 columns] (1461, 6) date str precipitation float64 temp_max float64 temp_min float64 wind float64 weather str dtype: object Index(['date', 'precipitation', 'temp_max', 'temp_min', 'wind', 'weather'], dtype='str') <class 'pandas.DataFrame'>

2、查看部分数据

# 2、查看部分数据#1)通过head()、tail()获取前n行或后n行print(df.head(5))print(df.tail(5))#2)获取一列或者多列数据#加载一列数据df_data_Series=df["date"]print(df_data_Series)df_data_dataFrame=df[["date"]]print(df_data_dataFrame)#加载多列数据</
http://www.cnnetsun.cn/news/1450139.html

相关文章:

  • 从照片到游戏场景:用Colmap重建室外建筑3D模型,并在Unity中实现快速布景的完整流程
  • 避坑指南:Zynq7000双核通信中5个最易忽视的Cache问题(附Xilinx SDK解决方案)
  • PDMS二次开发入门:手把手教你用PML2写第一个交互式窗体工具
  • 搭建无刷直流电机本体模型的那些事儿
  • ERP工程师必备:金蝶K3跨VLAN性能调优全记录(从抓包到交换机配置)
  • vLLM量化实战:4步搞定Mistral-7B模型的AWQ量化与部署
  • ADS联合仿真实战:手把手教你搞定PCB功分器设计与EM模型设置(避坑版)
  • 你的Retrofit请求真的安全吗?安卓网络层防崩溃与健壮性设计指南
  • 保姆级教程:Unity编辑器汉化全流程(从下载到配置避坑指南)
  • Labview DQMH框架实战:用子面板技术打造模块化UI界面(附完整代码)
  • 程序员选型手册:Qwen、腾讯元宝、DeepSeek的代码能力实测(附GitHub项目复现步骤)
  • 终端滑模控制(TSM)在非线性系统中的有限时间收敛设计与实现
  • CTF-Pwn安全防护机制解析——Checksec实战指南
  • 7道AI数学陷阱题实测:GPT-4o翻车,国产大模型表现如何?
  • STM32智能台灯DIY全攻略:从硬件选型到手机APP控制(附完整代码)
  • SEO_ 从基础到进阶,全面了解SEO是什么
  • 5分钟搞定:Ollama部署translategemma-27b-it图文翻译模型,小白也能快速上手
  • 保姆级避坑指南:在Ubuntu 18.04 + CUDA 10.0上成功运行AI Habitat仿真平台
  • 无人机航拍影像处理实战:三阶匀色法如何5分钟搞定色彩断层?
  • 银河麒麟V10换源避坑指南:如何永久锁定自定义APT源不被系统还原
  • 构建实用LLM Agent:从新手到高手的进阶指南(收藏版)
  • 奥乐齐中国市场第100家店在镇江开业;赛诺菲在成都正式启用中国创新与运营中心 | 美通社一周热点简体中文稿
  • 从零搭建:基于Arduino与ESP-01S的DHT11温湿度数据上云实战
  • ESP8266 AT固件烧写实战:手把手教你用ESPFlashDownloadTool完成固件更新
  • 避开这3个坑,你的BCI Competition IV 2a数据集预处理流程才算完整
  • 制造业低代码平台选型指南:简道云、钉钉宜搭、华为云Astro、金蝶云·苍穹、斑斑低代码横向对比
  • Oracle 19C在SUSE系统安装避坑指南:系统识别失败(PRVG-0282)的3种解决姿势
  • Chord视频分析工具快速入门:3步完成视频上传、分析与结果查看
  • MogFace-large模型蒸馏:用小模型实现接近大模型的检测精度
  • 从原理到实现:深入对比斐波那契与伽罗瓦LFSR的Verilog建模与仿真验证