pandas使用笔记(二)列操作
文章目录
- DataFrame基本列操作
- DataFrame常用列处理
DataFrame基本列操作
import pandas as pd
import numpy as np# 设置实验数据
l = [["p", 12, 12, 0], [np.nan, 12.3, 33., 0], ["q", 12.3, 0, 0], ["r", 1, 1, 0]]
df = pd.DataFrame(l, columns=["a", "b", "c", "d"])print(df)
"""a b c d
0 p 12.0 12.0 0
1 NaN 12.3 33.0 0
2 q 12.3 0.0 0
3 r 1.0 1.0 0
"""# 全为数字的列直接进行运算
df['c']=df['c']*8
print(df)
"""a b c d
0 p 12.0 768.0 0
1 NaN 12.3 2112.0 0
2 q 12.3 0.0 0
3 r 1.0 64.0 0
"""# 对两列也可以进行运算(注意数据类型)
df['b*c']=df['b']*df['c']
print(df)"""a b c d b*c
0 p 12.0 768.0 0 9216.0
1 NaN 12.3 2112.0 0 25977.6
2 q 12.3 0.0 0 0.0
3 r 1.0 64.0 0 64.0
"""# 含有字符串的列也有类似操作
df['a*8'] = df['a']*8
print(df)"""a b c d b*c a*8
0 p 12.0 768.0 0 9216.0 pppppppp
1 NaN 12.3 2112.0 0 25977.6 NaN
2 q 12.3 0.0 0 0.0 qqqqqqqq
3 r 1.0 64.0 0 64.0 rrrrrrrr
"""# 列值上移或者下移
df['b'].shift(1) # 整体下移一行(默认参数即为1)
"""
0 NaN
1 12.0
2 12.3
3 12.3
Name: b, dtype: float64
"""
df['b'].shift(-1) # 整体上移一行
"""
0 12.3
1 12.3
2 1.0
3 NaN
Name: b, dtype: float64
"""# 向下取得逐行差值(与.shift()方法的参数类似取负值为向上)
df['b'].diff(1)
"""
0 NaN
1 0.3
2 0.0
3 -11.3
Name: b, dtype: float64
"""# 获得涨跌幅
df['b'].pct_change()
"""
0 NaN
1 0.025000
2 0.000000
3 -0.918699
Name: b, dtype: float64
"""# 排序:获得排名
df['c'].rank()
"""
0 3.0
1 4.0
2 1.0
3 2.0
Name: c, dtype: float64
"""
DataFrame常用列处理
# 仍然沿用上一小节的数据# 去掉全为零的列
df1 = df.loc[:, (df!=0).any()]
# df1 = df.drop(df.loc[:, (df==0).all()], axis=1) # 第二种方法
print(df1)
"""a b c
0 p 12.0 12.0
1 NaN 12.3 33.0
2 q 12.3 0.0
3 r 1.0 1.0
"""# 将列中的0值用该列的平均值(不包含0)替代
# 先将0值改变成NaN
df.loc[:,'c'] = df.loc[:,'c'].apply(lambda x: np.nan if x==0 else x)
# 再将NaN用每一列的Mean填充
df.loc[:,'c'].fillna(value=df.loc[:,'c'].mean(), inplace=True)print(df)
"""a b c d
0 p 12.0 12.000000 0
1 NaN 12.3 33.000000 0
2 q 12.3 15.333333 0
3 r 1.0 1.000000 0
"""
pandas使用笔记(二)列操作相关推荐
- MongoDB学习笔记二—Shell操作
数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{"x":null} 布尔型 布尔类型有两 ...
- pandas学习笔记二之pandas选择器
pandas选择器
- Python科学计算-Numpy和Pandas学习笔记(二)-Numpy的基本运算(chaochao`s Blog)
1 前言 本章介绍numpy的基本运算. 2 Numpy的基本运算 numpy的基本运算是对矩阵中每个元素进行相应的运算. 2.1 加减乘除 加.减.乘.除. import numpy as np a ...
- pandas 每一列相加_Python3 numpy amp; pandas 学习笔记
写在前面 在用python做一些ML和DL的工作前,先看莫烦大佬的视频学习一下numpy和pandas这两个数据处理包,学习中记了一些笔记,便于自己日后查阅,同时发布到知乎希望能够帮助到其他小伙伴! ...
- Python数据分析模块 | pandas做数据分析(二):常用预处理操作
北京 | 深度学习与人工智能研修 12月23-24日 再设经典课程 重温深度学习 阅读全文 > 在数据分析和机器学习的一些任务里面,对于数据集的某些列或者行丢弃,以及数据集之间的合并操作是非常 ...
- iView学习笔记(三):表格搜索,过滤及隐藏列操作
iView学习笔记(三):表格搜索,过滤及隐藏某列操作 1.后端准备工作 环境说明 python版本:3.6.6 Django版本:1.11.8 数据库:MariaDB 5.5.60 新建Django ...
- python pandas dataframe函数_Pandas的DataFrame列操作
13. Pandas的DataFrame列操作 本章主要研究一下DataFrame数据结构如何修改.增删等操作. 13.1 rename修改列名字 对一个dataframe的数据使用rename函数后 ...
- Polyworks脚本开发学习笔记(二十)-补充几个常见操作指令的使用
Polyworks脚本开发学习笔记(二十)-补充几个常见操作指令的使用 大概要写到结尾了,最后几篇就将手册的各常用命令再看一遍,组合一下,并列举出常见的一些有用的操作. DATA_COLOR_MAP数 ...
- Python语言学习之pandas:DataFrame二维表的简介、常用函数、常用案例(增删改查排序之选择指定列、根据条件选择特定数据、赋值、列名重命名、修改列数据、处理缺失值、列合并、分组之详细攻略
Python语言学习之pandas:DataFrame二维表的简介.常用函数.常用案例(增删改查排序之选择指定列.根据条件选择特定数据.赋值.列名重命名.修改列数据.处理缺失值.列合并.分组之详细攻略 ...
最新文章
- fatfree-f3小型php框架(二)
- python读txt转array_np.array和txt文件的转换
- JS获取iFrame的内容
- 2017-2018-2 20179202《网络攻防技术》第一周作业
- linux下kill某个应用
- hadoop伪分布式(单机版)安装,Linux
- Dos命令使用Latex编写“Hello Latex.”
- python中继承和组合的区别_Py修行路 python基础 (十五)面向对象编程 继承 组合 接口和抽象类...
- Linux Centos date使用心得
- sqlite具体操作篇
- 谷歌翻译插件对大陆停止服务及其解决方案
- 单晶X射线衍射法和粉末X射线衍射法有哪些不同?
- 老司机用CATIA的实用默认值更改
- Win10系统打开共享文件提示没有权限使用网络资源怎么处理
- 风格化(Stylization)
- css中repeat用法,CSS background-repeat用法及代码示例
- 一个简单的JS(盒子移动)
- B站陈睿说:“B站也是个学习APP”!亲测还很好学
- 【TypeScript】Object、object和{}类型
- 如何设计一个自己的操作系统(1)
热门文章
- logging模块介绍
- ASP.NET MVC 4 内容映射
- 【转】 UML各种线的含义
- 防止a标签跳转的几种方法
- Qbxt 模拟题 day3(am) T3 选数字 (select)(贪心)
- html代码高亮带行号,kindeditor代码高亮自动行号功能
- python处理mat数据和处理png的区别_Python---利用scipy.misc等库对jpg以及png等图像数据预处理(用于深度学习喂数据)...
- 动态规划——乘积最大子数组(Leetcode 152)
- 二分答案——小车问题(洛谷 P1258)
- Tensorflow——张量