首页 > 编程语言 >【python】Panda 之Dataframe 基础api讲解代码 建议在Jupyter Notebook 中运行

【python】Panda 之Dataframe 基础api讲解代码 建议在Jupyter Notebook 中运行

时间:2024-09-21 16:24:19浏览次数:3  
标签:head Jupyter python movie Dataframe df scientists print csv

建议在Jupyter Notebook 中运行
jupyter notebook环境搭建

文章目录

  • 1.dataframe 常用属性
  • 2.dataframe 的常用方法
  • 3.dataframe 对象的 布尔值操作
  • 4. datafrane 对象的计算
  • 5. 更改series 和 dataframe 对象
    • 5.2 修改行名和列名
    • 5.3 添加 删除 插入列
  • 6.导入和导出数据
    • 6.1 导入数据
    • 6.2导入数据

import os

import pandas as pd
import numpy as np 
import os
os.chdir(r'D:\hm\homework\pywork\workProject\numpyProject') 

# 改变当前的工作目录 change work directory 

1.dataframe 常用属性

# 读取文件 获取 df对象

df = pd.read_csv('./data/scientists.csv')
df.head

# 演示 df对象常用属性

print(df.shape) # 维度
print(df.size)  # 元素个数 
print(df.values) # df对象 -> ndarray 形式
print(df.dtypes) # 各列的元素类型
print(df.ndim) # 维度
print(df.index) # 所有索引列的值   
print(df.columns) # 获取所有列名

2.dataframe 的常用方法

print(len(df))
print(df.head())
print(df.head(n=2))
print(df.tail())
print(df.tail(n = 2))

print(df.info)  # 查看各列基本信息
print(df.describe()) # 查看各列统计信息 包括 平均值  方差 最大值 最小值 等
print(df.describe(include='all')) # 查看各列统计信息 包括 平均值  方差 最大值 最小值 等
print(df.describe(exclude = ['int','float'])) # 查看各列统计信息 包括 平均值  方差 最大值 最小值 等

print(df.count())
print(df.max()) 
print(df.min())

print(df.mean()) # 查看数值列的平均值

3.dataframe 对象的 布尔值操作

# df对象 和Series 对象 一样 也是支持布尔操作 的

# 需求 过滤出 df 对象中 age 大于平均年龄的数据行

print(df[df.Age > df.Age.mean()]) # df对象的布尔值 操作
df.Age[df.Age > df.Age.mean()] # series对象的 布尔值操作

# 过滤出 df 对象 前5行中 第 1 , 3, 4 行 索引 是 0 2 3 

df.head()[[True,False,True,True,False]] # 传入的是布尔列表

4. datafrane 对象的计算

# 和 Series 对象一样 df 计算也是分两种情况

# 1. 和数值运算的时候 数值会和df对象的每个值进行计算

# 2. 和新的df计算的时候 会优先参考索引 对应用索引进行计算 不匹配返回 NAN

# 一 df 和数值计算

print(df * 2)

# 二 df 和 df计算

print(df + df)

print(df + df[:4]) # 类似于 python 的切片 即获取前四行 包左不包右

5. 更改series 和 dataframe 对象

## 5.1 设置和取消索引列

# pandas 中 某个函数 如果有 inplace 函数大部分会返回新副本 把inplace设置为True 则会修改原对象

# 一 读取数据不设置索引列 读取完毕后 设置索引列

movie = pd.read_csv('data/movie.csv')
movie.head()

# 设置 movie_title 索引列

movie.set_index('movie_title' ,inplace=True)

# 查看设置后的内容

movie.head()

# 二 读取数据时 直接设置索引列

movie = pd.read_csv('data/movie.csv',index_col = 'movie_title')
movie.head()

# 三 重置索引列

movie.reset_index(inplace= True)
movie.head()

5.2 修改行名和列名

# 一 rename() 实现

df = pd.read_csv('data/movie.csv',index_col = 'movie_title')
df.head()

# 手动修改 行名(索引列) 和 列名

# 索引列

idx_name = {'Avatar': '阿凡达'}

# 列名 

col_name = {'color':'颜色'}

# 通过rename 修改

df.rename(index = idx_name , columns= col_name, inplace= True)

# 查看修改后的结果

df.head()

# 二 读取所有的行名 列名 修改后 设置给df对象'

df = pd.read_csv('data/movie.csv',index_col = 'movie_title')
df.head()

# 获取所有的行名

idx_list = df.index.to_list()
col_list =df.columns.to_list()

# 修改列名和行名

idx_list[0] = '阿凡达'
col_list[0] = '颜色'

df.index = idx_list
df.columns = col_list

df.head()

5.3 添加 删除 插入列

df = pd.read_csv('data/movie.csv',index_col = 'movie_title')
df.head()

# 添加列 格式 df对象 = 值

df['has_seen']  = 1
df.head()

# 添加一列 表示 电影总的脸书 点赞数 总点赞数 = 导演 + 演员点赞数

df['director_actor_all_facebook_likes'] = df['director_facebook_likes'] + df['actor_1_facebook_likes'] + df['actor_2_facebook_likes'] + df['actor_3_facebook_likes']
print(df)

# 删除列

df.drop('has_seen',inplace= True,axis='columns') 

df.head()

6.导入和导出数据

6.1 导入数据

# 如果使用excel 先装3个包

df = pd.read_csv('data/scientists.csv')
df.head()

# 导出数据 output文件夹必须存在

df.to_pickle('output/scientists.pickle')
df.to_csv('output/scientists.csv') # 索引列也会导出
df.to_csv('output/scientists.csv',index = False) # 索引列不会导出
df.to_csv('output/scientists.tsv',index=False,sep='\t')

df.to_excel('output/scientists.xlsx',index = False , sheet_name = '123')
df.to_excel('output/scientists.xlsx')

6.2导入数据

pd.read_pickle('output/scientists.pickle')

# 1. 读取文件, 获取df对象

# df = pd.read_pickle('output/scientists.pickle')

# df = pd.read_csv('output/scientists.csv')

# df = pd.read_csv('output/scientists_noindex.csv')

# df = pd.read_csv('output/scientists_noindex.tsv', sep='\t') # 读取tsv的时候, 指定分隔符

# df = pd.read_excel('output/scientists.xlsx')

# 如果不写表名, 则默认读取第1个表, 如果写了, 则读取指定的表. 可以是一张表, 也可以是多张表.

# 1张表的情况下, 返回的是: df对象.

# 多张表的情况下, 返回的是: 字典, 即: 表名做键, 该表的df对象做值.

df = pd.read_excel('output/scientists_noindex.xlsx', sheet_name=['ai21', 'ai22'])

 

标签:head,Jupyter,python,movie,Dataframe,df,scientists,print,csv
From: https://blog.csdn.net/weixin_57336987/article/details/142398025

相关文章

  • 基于python+flask框架的基于微信小程序的购物系统的设计与实现(开题+程序+论文) 计算机
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和智能手机的普及,移动电子商务已成为人们日常生活中不可或缺的一部分。微信小程序,凭借其无需下载、即用即走的特......
  • 基于python+flask框架的基于微信小程序的高校评教系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在高等教育领域,教学质量评估是提升教育质量与学生学习效果的关键环节。传统的高校评教方式往往依赖于纸质问卷或PC端网页系统,存在效率低下......
  • 基于python+flask框架的基于微信小程序的会议室预约管理系统(开题+程序+论文) 计算机毕
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着企业规模的不断扩大和团队协作的日益频繁,会议室作为重要的办公资源,其管理和预约问题逐渐凸显。传统的手工预约方式不仅效率低下,而且容......
  • 基于python+flask框架的基于微信小程序的二手电商平台设计与实现(开题+程序+论文) 计算
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和智能手机的普及,人们的消费习惯逐渐从线下转向线上,特别是在电子商务领域,各种交易平台层出不穷。其中,二手电商作......
  • 如何用python创建文本文件(.txt文件)?【python】
    如何用python创建文本文件(.txt文件)?这里给出示例脚本:#Openthefileinwritemodewithopen("test.txt","w")asfile:#Iterateovertherangeandwriteeachlinetothefileforiinrange(100):file.write(f"{i}\n")print(&......
  • 计算机毕业设计推荐-基于python的白酒销售数据可视化分析
    精彩专栏推荐订阅:在下方主页......
  • Python 装饰器
    装饰器(Decorator)是Python中的一种高级函数,它允许你在不修改函数定义的情况下,动态地扩展或修改函数的功能。装饰器本质上是一个返回函数的函数,可以将一个函数作为输入,并返回一个增强后的函数。装饰器的基本概念装饰器通常用于以下几种场景:增强函数功能:在不改变原函数代码的情......
  • Python 高阶内容:深拷贝与浅拷贝揭秘复制的“玄学”
    Python高阶内容:深拷贝与浅拷贝揭秘复制的“玄学”文章目录Python高阶内容:深拷贝与浅拷贝揭秘复制的“玄学”一copy数据示例一示例二二深拷贝与浅拷贝三copy对比基本概念对比实现方式对比四完整代码示例五源码地址在Python中,复制操作并不是简单地将对......
  • Python 高阶内容:简化代码的终极技巧
    Python高阶内容:简化代码的终极技巧文章目录Python高阶内容:简化代码的终极技巧一Lambda:更直接的Function1常规函数写法和调用2lambda写法二一行`for`能解决的事1常规写法2简写3简写创建字典三一行if-else行天下1常规写法2简写四一行`for+`判......
  • Python数论应用
    引言        在前面的课程中,我们已经学习了Python的基本输入输出、数据类型及其转换、顺序结构、分支结构、循环结构、循环控制语句、字符串类型、列表类型、元组类型、字典类型、集合类型、函数的定义与使用、函数调用与作用域、函数的高级应用、质数、倍数与余数......