news 2026/3/17 14:43:12

数据据统计基础之Pandas.DataFrame学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据据统计基础之Pandas.DataFrame学习

Pandas 是 Python 中用于数据分析的核心库之一,其中 DataFrame 是最常用的数据结构,类似于 Excel 表格或 SQL 表。下面我们将从 创建、属性、索引、筛选、统计、排序 等多个维度全面介绍 DataFrame 的基本用法。

# dataframe的创建方式importpandasaspdimportnumpyasnp# 通过series来创建s1=pd.Series([1,2,3,4,5])s2=pd.Series([6,7,8,9,10])df=pd.DataFrame({"第一列":s1,"第二列":s2})type(df["第一列"])# 通过字典来创建df=pd.DataFrame({"id":[1,2,3,4,5],"name":["Tom","jack","alice","bob","allen"],"age":[15,17,20,26,30],"score":[60.5,80,30.6,70,83.5]},index=[1,2,3,4,5],columns=["name","id","age","score"])df
nameidagescore
1Tom11560.5
2jack21780.0
3alice32030.6
4bob42670.0
5allen53083.5
# dataframe的属性print('行索引:')print(df.index)print('列标签:')print(df.columns)print('值:')print(df.values)
行索引: Index([1, 2, 3, 4, 5], dtype='int64') 列标签: Index(['name', 'id', 'age', 'score'], dtype='object') 值: [['Tom' 1 15 60.5] ['jack' 2 17 80.0] ['alice' 3 20 30.6] ['bob' 4 26 70.0] ['allen' 5 30 83.5]]
print('维度:',df.ndim)print('数据类型:')print(df.dtypes)print('形状:',df.shape)print('元素个数:',df.size)
维度: 2 数据类型: name object id int64 age int64 score float64 dtype: object 形状: (5, 4) 元素个数: 20
# 行列转置print(df.T)
1 2 3 4 5 name Tom jack alice bob allen id 1 2 3 4 5 age 15 17 20 26 30 score 60.5 80.0 30.6 70.0 83.5
# 获取元素 loc iloc at iat# 某行print(df.loc[4])print(df.iloc[3])
name bob id 4 age 26 score 70.0 Name: 4, dtype: object name bob id 4 age 26 score 70.0 Name: 4, dtype: object
# 某列print(df.loc[:,'name'])print(df.iloc[:,0])
1 Tom 2 jack 3 alice 4 bob 5 allen Name: name, dtype: object 1 Tom 2 jack 3 alice 4 bob 5 allen Name: name, dtype: object
# 单个元素print(df.at[3,'score'])print(df.iat[2,1])print(df.loc[3,'score'])print(df.iloc[2,1])
30.6 3 30.6 3
# 获取单列数据print(df['name'])print(type(df['name']))print(df.name)
1 Tom 2 jack 3 alice 4 bob 5 allen Name: name, dtype: object <class 'pandas.core.series.Series'> 1 Tom 2 jack 3 alice 4 bob 5 allen Name: name, dtype: object
print(df[['name','score']])#多列数据的获取
name score 1 Tom 60.5 2 jack 80.0 3 alice 30.6 4 bob 70.0 5 allen 83.5
# 查看部分数据print(df.head(2))print(df.tail(3))
name id age score 1 Tom 1 15 60.5 2 jack 2 17 80.0 name id age score 3 alice 3 20 30.6 4 bob 4 26 70.0 5 allen 5 30 83.5
# 使用布尔索引筛选数据df[df.score>70]df[(df.score>70)&(df.age<20)]
nameidagescore
2jack21780.0
# 随机抽样df.sample(3)
nameidagescore
4bob42670.0
1Tom11560.5
2jack21780.0
print(df.isin(['jack',20]))# 查看元素是否包含在参数集合中
name id age score 1 False False False False 2 True False False False 3 False False True False 4 False False False False 5 False False False False
print(df.isna())# 查看元素是否是缺失值
name id age score 1 False False False False 2 False False False False 3 False False False False 4 False False False False 5 False False False False
print(df['score'].sum())# 某一列的总和print(df.score.max())# 最大值print(df.age.min())# 最小值print(df.score.mean())# 平均值print(df.score.median())# 中位数print(df.age.mode())# 众数print(df.score.std())# 标准差print(df.score.quantile(0.25))# 分位数print(df.describe())
324.6 83.5 15 64.92 70.0 0 15 1 17 2 20 3 26 4 30 Name: age, dtype: int64 21.188605428390044 60.5 id age score count 5.000000 5.000000 5.000000 mean 3.000000 21.600000 64.920000 std 1.581139 6.268971 21.188605 min 1.000000 15.000000 30.600000 25% 2.000000 17.000000 60.500000 50% 3.000000 20.000000 70.000000 75% 4.000000 26.000000 80.000000 max 5.000000 30.000000 83.500000
print(df.count())# 返回每一列非缺失值的个数
name 5 id 5 age 5 score 5 dtype: int64
print(df.value_counts())# 出现的次数
name id age score Tom 1 15 60.5 1 alice 3 20 30.6 1 allen 5 30 83.5 1 bob 4 26 70.0 1 jack 2 17 80.0 1 Name: count, dtype: int64
print(df.drop_duplicates())
name id age score 1 Tom 1 15 60.5 2 jack 2 17 80.0 3 alice 3 20 30.6 4 bob 4 26 70.0 5 allen 5 30 83.5
print(df.duplicated(subset=['age']))# 查看是否重复
1 False 2 False 3 False 4 False 5 False dtype: bool
df.sample(2)# 随机抽样
nameidagescore
1Tom11560.5
2jack21780.0
print(df.replace(15,30))
name id age score 1 Tom 1 30 60.5 2 jack 2 17 80.0 3 alice 3 20 30.6 4 bob 4 26 70.0 5 allen 5 30 83.5
df.cumsum()df.cummax()df.cummin(axis=0)
nameidagescore
1Tom11560.5
2Tom11560.5
3Tom11530.6
4Tom11530.6
5Tom11530.6
print(df.sort_index(ascending=False))
name id age score 5 allen 5 30 83.5 4 bob 4 26 70.0 3 alice 3 20 30.6 2 jack 2 17 80.0 1 Tom 1 15 60.5
print(df.sort_values(by=['score','age']))
name id age score 3 alice 3 20 30.6 1 Tom 1 15 60.5 4 bob 4 26 70.0 2 jack 2 17 80.0 5 allen 5 30 83.5
df.nlargest(2,columns=['score','age'])df.nsmallest(2,columns=['score','age'])
nameidagescore
3alice32030.6
1Tom11560.5
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/15 13:30:15

2024最新跨平台开发中的文件系统API设计与实现指南

2024最新跨平台开发中的文件系统API设计与实现指南 【免费下载链接】upscayl &#x1f199; Upscayl - Free and Open Source AI Image Upscaler for Linux, MacOS and Windows built with Linux-First philosophy. 项目地址: https://gitcode.com/GitHub_Trending/up/upscay…

作者头像 李华
网站建设 2026/3/13 17:37:43

突破Cursor Pro限制:cursor-free-everyday实现无限额度的终极方案

突破Cursor Pro限制&#xff1a;cursor-free-everyday实现无限额度的终极方案 【免费下载链接】cursor-free-everyday 完全免费, 自动获取新账号,一键重置新额度, 解决机器码问题, 自动满额度 项目地址: https://gitcode.com/gh_mirrors/cu/cursor-free-everyday cursor…

作者头像 李华
网站建设 2026/3/14 13:49:08

Koha图书馆自动化系统:从部署到应用的实用指南

Koha图书馆自动化系统&#xff1a;从部署到应用的实用指南 【免费下载链接】Koha Koha is a free software integrated library system (ILS). Koha is distributed under the GNU GPL version 3 or later. ***Note: this is a synced mirror of the official Koha repo. Note:…

作者头像 李华
网站建设 2026/3/13 21:16:22

LVGL移植实战:嵌入式GUI框架适配完整指南

以下是对您提供的博文《LVGL移植实战:嵌入式GUI框架适配完整指南》的 深度润色与专业重构版本 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹,语言自然、有“人味”,像一位资深嵌入式GUI工程师在技术博客中娓娓道来; ✅ 删除所有模板化标题(如“引言”“总结”…

作者头像 李华
网站建设 2026/3/14 15:25:47

提升控制效率:CCS20优化策略核心要点

以下是对您提供的博文内容进行 深度润色与工程化重构后的版本 。整体风格更贴近一位资深嵌入式系统工程师在技术社区中自然、扎实、略带温度的分享口吻—— 去AI痕迹、强实践感、重逻辑流、轻术语堆砌 ,同时严格遵循您提出的全部优化要求(如:删除模板化标题、禁用“首先…

作者头像 李华
网站建设 2026/3/15 20:24:47

如何通过提示工程实现智能客服话术生成:4个实战技巧

如何通过提示工程实现智能客服话术生成&#xff1a;4个实战技巧 【免费下载链接】prompt-eng-interactive-tutorial Anthropics Interactive Prompt Engineering Tutorial 项目地址: https://gitcode.com/GitHub_Trending/pr/prompt-eng-interactive-tutorial 在当今智能…

作者头像 李华