Pandas -----------------------基础知识(五)

news2024/9/28 2:33:22
  • 索引和列操作
  • 函数
  • 缺失值

索引和列操作

# 1 加载数据
# 1.1 从链家租房数据集中获取天通苑租房区域的所有数据存储在df2中
# 1.2 从df2中获取价格列存储在df2_price对象
import pandas as pd
df = pd.read_csv('/root/pandas_code_ling/data/b_LJdata.csv')
df2 = df[df['区域']== '天通苑租房']
df2_price = df2['价格']
df2_price

# 2 获取索引
# 2.1 通过 df2.index和 s_price.index 可以查看数据的索引
# 2.2 使用索引下标df2.index[0]和s.index[0]可以获取具体的某一个索引值

df2_price.index

df2.index



df2.index[2]

print(df2_price.index[2])

#  78  第三个

# 3 查看列名
# 3.1 查看 DataFrame 中所有列名
df.columns
# Index(['区域', '地址', '户型', '面积', '价格', '朝向', '更新时间', '看房人数'], dtype='object')
# 3.2 查看 DataFrame 中 特定列名对应的下标

df.columns.get_loc('价格')  
#  4
# 目标: 读取数据时指定索引列
# 1 读取数据 使用 区域列 作为索引
df_3 = pd.read_csv('/root/pandas_code_ling/data/b_LJdata.csv',index_col=0)
df_3

# 目标: 指定某列为索引
# 1 使用 set_index 指定 区域 列为索引列, 影响原始数据
df_4 = df.set_index('区域',inplace=False)
df

# 目标: 重置索引
# 0 准备数据
copy_df = df2.copy()
# print(copy_df.head())

#  重置索引 影响原始数据, 去掉 index 列
copy_df.reset_index(drop=True, inplace=True)
copy_df

# 0 拷贝s_price的前5条数据 
new_price = df2_price.head().copy()
print(new_price)

# 1 重置索引
new_price = new_price.reset_index(inplace=False, drop=True)
print(new_price)

# 2 修改索引
new_price.index=['a','b','c','d','e']
print(new_price)

# 目标: 赋值修改列名
new_df = df[['区域','价格']]
new_df = new_df.head().copy()
new_df

new_df.columns = ['列名1','列名2']
new_df

# 目标: 赋值修改列名和索引

# 1 使用 rename 修改列名
# 2 使用 rename 修改索引
new_df.rename(
    columns={'区域':'新区域','价格':'新价格'},
    index={0:'a', 2:'b', 4:'c'},
    inplace=True
)
new_df

函数

原始数据

 # 根据指定列的值由大到小排列,返回n行数据
df2.nlargest(5,'价格')

df2.nsmallest(3,'价格')

# 按价格列的数值由大到小进行排序  不修改原始数据
print(df2.sort_values(['价格'], ascending=False))

# 先对看房人数列由小到大排序, 再对价格列由大到小排序
print(df2.sort_values(['价格', '看房人数'], ascending=[True, False]))

相关性

df.corr()

标准偏差

df2.std()

分位数

# 二分位数  中位数
df2.quantile()  

# 四分位数  (计算:以看房人数四分之一分位为例 (10-1)*0.25=2.25  2.25+1=3.25  第三位是29  29+(30-29)*0.25=29.25)
df2.quantile([0.25, 0.5, 0.75])

缺失值

  • Pandas中的NaN值来自NumPy库,NumPy中缺失值有几种表示形式:NaN,NAN,nan,他们都一样

  • 缺失值和其它类型的数据不同,它毫无意义,NaN不等于0,也不等于空字符串

加载数据
df = pd.read_csv('/root/pandas_code_ling/data/c_city_day.csv')
df.head()

df = pd.read_csv('/root/pandas_code_ling/data/c_city_day.csv',keep_default_na=False)
df.head()

df = pd.read_csv('/root/pandas_code_ling/data/c_city_day.csv',na_values='Ahmedabad')
df.head()

df.info()

# df.head().isna()
# df.head().isnull()
# df.head().notnull()
df.head().notna()

df = pd.read_csv('/root/pandas_code_ling/data/c_city_day.csv')
# 随机获取10条数据
df2 = df.sample(n=10, random_state=5)
df2

# 删除含有缺失值的行数据
df2.dropna()

# # 删除含有缺失值的列
df2.dropna(axis=1)

# # 删除指定列中含有缺失值的行数据
df2.dropna(how='any', subset=['PM2.5', 'Xylene', 'AQI'])

# # 删除指定列中都含有缺失值的行数据
df2.dropna(how='all', subset=['PM2.5', 'Xylene', 'AQI'])

# # 删除含有缺失值的行数据, 剩余非空值个数大于等于12的行数据保留
df2.dropna(thresh=12)

df.head().isnull().sum()

填充缺失值 

# 目标: 用平均值填充PM2.5的缺失值
# 1 加载数据
df = pd.read_csv("./data/c_city_day.csv")
# 2 验证缺失值
 df.info() # 总: 29531  PM2.5: 24933

# 3 求平均值
pm25_mean = df['PM2.5'].mean()
print(pm25_mean) # 67.45057794890272
# 4 填充平均值
df['PM2.5'].fillna(pm25_mean, inplace=True)

# 5 验证
df.info() # 总: 29531  PM2.5: 29531
print(df['PM2.5'].mean())

# 使用前后值填充
# 加载数据
df = pd.read_csv('./data/c_city_day.csv')
s1 = df['Xylene'][54:64]
print(s1)
print('---------------------------')
print(s1.fillna(method='ffill'))

# 加载数据
df = pd.read_csv('./data/c_city_day.csv')
s1 = df['Xylene'][54:64]
print(s1)
print('---------------------------')
print(s1.fillna(method='bfill'))

# 使用线性填充
df = pd.read_csv('./data/c_city_day.csv')
s1 = df['Xylene'][54:64]
print(s1)
print('---------------------------')
print(s1.interpolate(limit_direction='both'))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2171978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Button “No speakable text present” 问题解决

记录一个问题,今天让同学们做了个小车控制界面,使用Button控件,删除设置的text属性,会出现“No speakable text present”的错误,如图所示。这是由于Android的无障碍设置需要朗读Button的文本,如果没有设置…

Linux系统安装MySQL8.40(保姆级教程)

前言: 说明:本文章是在阿里云ecs上安装MySQL,即:Linux是在联网状态下。 一、安装前环境准备 1.查看MySQL应用是否已存在 rpm -qa |grep mysql说明:若返回空信息,就说明当前环境没有安装MySQL。 2.查看ma…

重磅!三十载种业盛会今年10月换址举办

重磅!三十载种业盛会今年10月换址举办 粮安天下,种筑基石。2024 年,在种业振兴行动迈入“五年见成效”新阶段的关键之年,哈尔滨种业博览会也即将迎来它的第30个年头。因“第九届亚洲冬季运动会”占用哈尔滨国际会展中心&#xff…

en造数据结构与算法C# 之 二叉排序树的增/查

前篇:en造数据结构与算法C# 二叉排序树 泛型类的基本构成-CSDN博客 了解了基本结构以后就可以为其编写增加代码了 注意在二叉排序树类中定义了一个根节点 AddNode(添加节点)方法分析 输入: 一个添加节点的位置(默认为…

鳕鱼检测系统源码分享

鳕鱼检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

LLM - 理解 多模态大语言模型(MLLM) 的 幻觉(Hallucination) 与相关技术 (七)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/142463789 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 多模态…

【湖南步联科技身份证】 身份证读取与酒店收银系统源码整合———未来之窗行业应用跨平台架构

一、html5 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><script type"text/javascript" src"http://51.onelink.ynwlzc.net/o2o/tpl/Merchant/static/js…

电脑桌面美化用什么软件?精选6款桌面文件管理工具,小白秒变大师!

随着电脑在日常生活和工作中的普及&#xff0c;越来越多的用户开始重视电脑桌面美化的需求。单调的桌面背景和杂乱的文件排列已经无法满足我们对个性化与效率的追求。许多用户渴望找到合适的桌面整理工具&#xff0c;使他们的电脑桌面不仅美观&#xff0c;还能提升工作效率。为…

艺术家刘欢近况时隔5年再登《歌手》舞台,国家级嗓音引发热议

在我国&#xff0c;有这样一位艺术家&#xff0c;他自上世纪80年代至今&#xff0c;用一首首脍炙人口的歌曲和他那独特的嗓音陪伴数代人成长。凭借音乐上的造诣和天赋&#xff0c;他被众多网友誉为“音乐教父”&#xff1b;攀登至领域巅峰时&#xff0c;他不忘提携后辈&#xf…

低代码平台推荐与对比,国内外哪家更胜一筹?

低代码开发通过图形界面简化开发&#xff0c;提升速度与协作&#xff0c;降低成本。国内外平台如ZohoCreator、OutSystems等各具特色&#xff0c;支持快速开发、集成与数据安全。企业可试用后按需选择&#xff0c;降低决策成本。 一、低代码是什么&#xff1f; 低代码开发是一…

如何组织一场考试并筛选未参加答题的考生?

&#x1f64b;频繁有小伙伴咨询&#xff1a;我组织了一场答题活动&#xff0c;导出考试成绩时只有参加了答题的人&#xff0c;但我想要找到哪些人没答题 此前我们会建议小伙伴逐人排查&#xff0c;但这建议被反复吐槽&#x1f926; 确实&#xff0c;如果只有十几个人逐人排查还…

一家5口全感染?幽门螺杆菌筛查的意义!

近日&#xff0c;浙江的一家医院消化内科专家接诊了一名因感染幽门螺杆菌多年而罹患胃癌的患者。糟糕的是&#xff0c;他一家5口全感染了这种菌。2023年底&#xff0c;浙江杭州李先生&#xff08;化名&#xff09;在公司组织体检时查出幽门螺杆菌阳性。但他也不知道自己是何时、…

HTML基础用法介绍一

VS code 如何快速生成HTML骨架注释是什么&#xff1f;为什么要写注释&#xff1f;注释的标签是什么&#xff1f;标题标签段落标签换行标签与水平线标签 (都是单标签&#xff09;文本格式化标签图片标签超链接标签音频标签视频标签 &#x1f698;正片开始 VS code 如何快速生成…

相亲交友系统的社会影响:家庭结构的变化

随着互联网技术的发展&#xff0c;相亲交友系统已成为许多单身人士寻找伴侣的重要途径。这些平台不仅改变了人们的社交方式&#xff0c;还对家庭结构产生了深远的影响。本文将探讨相亲交友系统如何促使家庭结构发生变化&#xff0c;开发h17711347205并通过简单的Python代码示例…

【bug fixed】hexo d的时候Spawn failed

在执行hexo d部署的时候&#xff0c;遇到报错&#xff1a; % hexo d INFO Validating config INFO Deploying: git INFO Clearing .deploy_git folder... INFO Copying files from public folder... INFO Copying files from extend dirs... [main 8e89088] Site updated…

信息学奥赛的最佳启蒙阶段是小学还是初中?

信息学奥赛&#xff08;NOI&#xff09;近年来越来越受家长和学生的关注&#xff0c;尤其是在编程教育不断升温的背景下&#xff0c;信息学竞赛成为了许多家庭的教育选择之一。家长们往往关心的是&#xff1a;孩子应该在什么年龄段开始接触信息学竞赛&#xff0c;才能打下坚实的…

设计模式 之 —— MVC模式

目录 什么是MVC模式&#xff1f; MVC 工作流程&#xff1a; MVC模式&#xff08;java示例.部分代码&#xff09; 1、Model java 2、View HTML CSS JS 3、Controller java 运行结果&#xff1a; 适用场景&#xff1a; 什么是MVC模式&#xff1f; MVC模式提供了灵活…

基于 C# 的文本文件的编码识别

基于 C# 的文本文件的编码识别 前言一、有 BOM 文件头二、无 BOM 文件头三、简体中文汉字编码四、C# 程序对编码的识别1、文件选择按钮代码&#xff1a;2、获取文件编码&#xff0c;有 BOM 的文件识别3、获取文件编码&#xff0c;UTF8 无 BOM 文件的识别4、获取文件编码&#x…

如何有效应对商标撤三挑战?

商标撤三作为商标法中的一项重要制度&#xff0c;时刻考验着企业的商标维护与保护能力。面对这一挑战&#xff0c;企业如何构建一套有效的商标撤三管理体系&#xff0c;以确保自身品牌权益不受侵害&#xff0c;成为了一个亟待解决的问题。 理解商标撤三制度的核心要义 商标撤三…

【MyBatis 源码拆解系列】执行 Mapper 接口的方法时,MyBatis 怎么知道执行的哪个 SQL?

欢迎关注公众号 【11来了】 &#xff0c;持续 MyBatis 源码系列内容&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址&#xff1a;点击查看文章导读&#xff01; 感谢你的关注&#xff…