今天打个卡, 还不错,学到20课了, 简单的把pandas的操作过一遍, 这没有numpy学的好

1. 读取csv文件

import pandas
food_info = pandas.read_csv("food_info.csv")
print(type(food_info))
print(food_info.dtypes)
# print(help(pandas.read_csv))

2. 读取头文件 .head() 可以设置行数 和 尾部 也可以设置行数

# food_info.head(3)
# first_rows = food_info.head(4)
# first_rows
# food_info.tail(4)
# print(food_info.columns)  #打印列元素
print(food_info.shape)  #打印类型

3. 读取行操作 .loc[ : ]

# print(food_info.loc[0])
# print(food_info.loc[3:6])
print(food_info.loc[[2,5,10]])

4. 读取列元素

year_col = food_info["Year"]
print(year_col)

5. 筛选 尾部是t的元素 跟python操作是一致的

col_names = food_info.columns.tolist()
print(col_names)
t_col = []

for c in col_names:
if c.endswith("t"):
t_col.append(c)
t_df = food_info[t_col]
print(t_df.head(3))

6. 列 元素的四则运算 保证维度一致

print(food_info["Product cost"])
div_1000 = food_info["Product cost"] / 1000
print(div_1000)

7. 对列元素进行排序, 默认升序 sort_values( )

food_info.sort_values("Product cost", inplace = True)
print(food_info["Product cost"])
food_info.sort_values("Product cost", inplace = True, ascending = False)
print(food_info["Product cost"])

8. 用numpy 和pandas 做一个简单的数据分析

import pandas as pd
import numpy as np
titanic_survival = pd.read_csv("titanic_train.csv")
titanic_survival.head()

9. 将age 中为空的选择出来

age = titanic_survival["Age"]
# print(age.loc[0:10])
age_is_null = pd.isnull(age)
# print(age_is_null)
age_null_true = age[age_is_null]
# print(age_null_true)
age_null_count = len(age_null_true)
print(age_null_count)

10. 找出age的平均值 有NAN值没办法求

mean_age = sum(titanic_survival["Age"]) / len(titanic_survival["Age"])
print(mean_age)

11. 将age 为空的筛选掉, 这个比较重要

good_ages = titanic_survival["Age"][age_is_null == False]
# print(good_ages)
correct_mean_age = sum(good_ages) / len(good_ages)
print(correct_mean_age)

12. 找出age的平均值

correct_mean_age = titanic_survival["Age"].mean()
print(correct_mean_age)

13. 找出1,2,3 的平均票价 与python一样

passenger_classes = [1, 2, 3]
fares_by_classes = {}
for this_class in passenger_classes:
pclass_rows = titanic_survival[titanic_survival["Pclass"] == this_class]
pclass_fares = pclass_rows["Fare"]
fare_for_class = pclass_fares.mean()
fares_by_classes[this_class] = fare_for_class
print(fares_by_classes)

14. 简单操作 找出平均票价

passenger_survival = titanic_survival.pivot_table(index="Pclass", values="Survived", aggfunc=np.mean)
print(passenger_survival)

15 求平均年龄

passenger_age = titanic_survival.pivot_table(index="Pclass", values="Age", aggfunc=np.mean)
print(passenger_age)

16求和

port_stats = titanic_survival.pivot_table(index="Embarked", values=["Fare", "Survived"], aggfunc=np.sum)
print(port_stats)

17 去掉空值

drop_na_columns = titanic_survival.dropna(axis=1)
new_titanic_survival = titanic_survival.dropna(axis=0, subset=["Age", "Sex"])
print(new_titanic_survival)

18 找出特定值

row_index_83_age = titanic_survival.loc[83, "Age"]
row_index_1000_pclass = titanic_survival.loc[766, "Pclass"]
print(row_index_83_age)
print(row_index_1000_pclass)

19 排序

new_titanic_survival = titanic_survival.sort_values("Age", ascending=False)
print(new_titanic_survival[0:10])
titanic_reindexed = new_titanic_survival.reset_index(drop=True)
print("---------------------------------------------------------")
print(titanic_reindexed.loc[0:10])

20 将自己的函数与数据结合起来

def hundredth_row(column):
hundredth_item = column.loc[99]
return hundredth_item

hundredth_row = titanic_survival.apply(hundredth_row)
print(hundredth_row)

21 求每一个列对应的空值元素个数

def not_null_count(column):
column_null = pd.isnull(column)
null = column[column_null]
return len(null)
column_null_count = titanic_survival.apply(not_null_count)
print(column_null_count)

22. 换标签找出生存与年龄的关系

titanic_survival["age_labels"] = age_labels
age_group_survival = titanic_survival.pivot_table(index="age_labels", value="Survived")
print(age_group_survival)

机器学习第二节_pandas_数据操作的更多相关文章

  1. 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型

    第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...

  2. CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第二节

    原文链接 第二节:第一个内核 Rob Farber 是西北太平洋国家实验室(Pacific Northwest National Laboratory)的高级科研人员.他在多个国家级的实验室进行大型并 ...

  3. delphi 线程教学第二节:在线程时空中操作界面(UI)

    第二节:在线程时空中操作界面(UI)   1.为什么要用 TThread ?   TThread 基于操作系统的线程函数封装,隐藏了诸多繁琐的细节. 适合于大部分情况多线程任务的实现.这个理由足够了吧 ...

  4. oracle的学习 第二节:创建数据表

    学习内容: A.创建数据库和表空间 B.创建用户和分配权限 C.创建数据表 一.创建数据库和表空间 (一)SQL语言的基本概念 1.概念 高级的结构化查询语言:沟通数据库服务器和客户的重要桥梁. PL ...

  5. python第二十九课——文件读写(读取数据操作)

    演示读取数据操作:path=r'a.txt' 1.打开文件f1=open(path,'r') 2.读取数据content1=f1.read(3)print(content1) content1=f1. ...

  6. [SQL]SQL语言入门级教材_SQL数据操作基础(二)

    SQL数据操作基础(初级) netnova 于 -- :: 加贴在 数据库探讨: 为了建立交互站点,你需要使用数据库来存储来自访问者的信息.例如,你要建立一个职业介绍服务的站点,你就需要存储诸如个人简 ...

  7. Python股票分析系列——基础股票数据操作(一).p3

    该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第3部分.在本教程中,我们将使用我们的股票数据进一步分解一些基本的数据操作和可视化.我们将要使用 ...

  8. centos单用户 救援 运行级别 yum,单用户模式,救援模式,inittab :启动级别 e2fsck wetty mingetty 物理终端 /dev/console 虚拟终端 /dev/tty(0,6) 模拟终端 /dev/pts/# grub-md5-crypt 给grub加密码 initrd 第二节课

    centos单用户 救援 运行级别  yum,单用户模式,救援模式,inittab :启动级别  e2fsck  wetty  mingetty  物理终端 /dev/console  虚拟终端 /d ...

  9. 《C# 爬虫 破境之道》:第二境 爬虫应用 — 第二节:以事件驱动状态、数据处理

    续上一节内容,对Web爬虫进行进一步封装,通过委托将爬虫自己的状态变化以及数据变化暴露给上层业务处理或应用程序. 为了方便以后的扩展,我先定义一个蚂蚁抽象类(Ant),并让WorkerAnt(工蚁)继 ...

随机推荐

  1. 贾扬清牛人(zz)

    贾扬清加入阿里巴巴后,能否诞生出他的第三个世界级杰作? 文 / 华商韬略 张凌云  本文转载,著作权归原作者所有   贾扬清加入阿里巴巴后,能否诞生出他的第三个世界级杰作? 2017年1月11日,美国 ...

  2. 常见的HTTP方法有哪些?

    GET:请求指定的页面信息,返回实体主体: HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于捕获报头: POST:向指定资源提交数据进行处理请求(比如表单提交或者上传文件),.数据被 ...

  3. MyBatis中in 的使用方法

    在MyBatis中使用in关键字参数为集合时,需要使用到foreach标签. 下面详细介绍以下foreach标签的几个参数 foreach属性.png 实例: <select id=" ...

  4. spring boot 之登录笔记

    在测试平台的开发中,会牵涉到登录内容,页面需要登录后才能访问,所以,对于登录的开发是很有必要的.本文记录我在系统登录的一些自己的做法. 首先对登录进行设计. 如下: 1.登录密码输入错误超过次数限制 ...

  5. 面试题小议---BY gremount

    Problem 1:  两个烧杯,一个放糖一个放盐,用勺子舀一勺糖到盐,搅拌均匀,然后舀一勺混合物会放糖的烧杯,问你两个烧杯哪个杂质多? 提示:相同.(1)可以用一个特殊数据计算一下,可以得到两个烧杯 ...

  6. Solr 集成ikanalyzer

    Solr 不能对中文进行分词,ikanalyzer可以. ikanalyzer下载链接 1.下载 jar形式 2.放到D:\soft\solr-8.1.0\server\solr-webapp\web ...

  7. Vue学习手记02 - 路由

    1.项目  注意:项目在初始化的时候没有安装vue-router就需要进行安装 2.安装路由: 在项目中使用ctrl+`, 打开终端, 执行如下命令 npm i vue-router -S 或者 cn ...

  8. Python网络爬虫学习手记(1)——爬虫基础

    1.爬虫基本概念 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.--------百度百科 简单的说,爬 ...

  9. 基于python的人脸识别(检测人脸、眼睛、嘴巴、鼻子......)

    本文链接:https://blog.csdn.net/James_Ray_Murphy/article/details/79209172 import numpy as np import cv2 # ...

  10. PEP 442 -- Safe object finalization

    https://www.python.org/dev/peps/pep-0442/ PEP 442 -- Safe object finalization PEP: 442 Title: Safe o ...