Python-科学计算-pandas-13-列名/删除列/替换nan
时间:2022-07-25
本文章向大家介绍Python-科学计算-pandas-13-列名/删除列/替换nan,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2
- 这个系列讲讲Python的科学计算及可视化
- 今天讲讲pandas模块
- 修改Df列名,删除某列,以及将nan值替换为字符串yes
Part 1:目标
-
已知一个Df,如下图
- 包括5列
["time", "pos", "value1", "value2", "value3"]
- 包括8行
[0,1,2,3,4,5,6,7]
- 包括5列
2. 目标:
- 修改列名:
{'time': 'date', 'pos': 'group', 'value1': 'val1', 'value3': 'val3'}
- 删除列value2
- 替换nan值为yes
Df
Part 2:代码
import numpy as np
import pandas as pd
dict_1 = {"time": ["2019-11-02", "2019-11-03", "2019-11-04", "2019-11-05",
"2019-12-02", "2019-12-03", "2019-12-04", "2019-12-05"],
"pos": ["A", "A", "B", "B", "C", "C", "C", "D"],
"value1": [10, 20, 30, 40, 50, 60, 70, 80],
"value2": [20, 30, 40, 50, 60, 70, 80, 90],
"value3": [20, np.nan, 40, 50, np.nan, 70, np.nan, 90]}
df_1 = pd.DataFrame(dict_1, columns=["time", "pos", "value1", "value2", "value3"])
print("原数据", "n", df_1, "n")
# 重命名列
df_2 = df_1.rename(columns={'time': 'date', 'pos': 'group',
'value1': 'val1', 'value3': 'val3'})
print("列名重命名", "n", df_2, "n")
# 删除列
df_2.drop(['value2'], axis=1, inplace=True)
print("删除列", "n", df_2, "n")
# 替换nan
df_2.fillna("yes", inplace=True)
print("替换nan", "n", df_2, "n")
代码截图
运行结果
Part 3:部分代码解读
-
df_1.rename(columns={'time': 'date', 'pos': 'group', 'value1': 'val1', 'value3': 'val3'})
,关键函数df.rename(columns={原列名:新列名, 原列名:新列名})
,通过一个字典的键值对分别表示原列名和新列名。该方法生成了一个新的df,不是直接在原df上进行操作 -
df_2.drop(['value2'], axis=1, inplace=True)
,删除列名为value2的列,axis=1表示按列进行删除,inplace=True
表示对原df进行操作,保留操作后的结果,与第1点的情况不同 -
df_2.fillna("yes", inplace=True)
将nan值用字符串yes进行替换 - 定义nan值使用np.nan方法。实际情况中,当df某行某列没有赋值,会出现nan值情况,对于nan值有些情况需要处理,例如使用Django进行网站搭建,后端向前端反馈数据时,不能包括nan值
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【pytorch】改造resnet为全卷积神经网络以适应不同大小的输入
- springmvc之数据的格式化
- 【python-leetcode207-拓扑排序】课程表
- 定时任务最简单的3种实现方法(Java)
- 回顾通用链表(亲测代码示例)
- 【python-leetcode210-拓扑排序】课程表Ⅱ
- Java实现最小生成树算法之Kruskal算法
- 来我们再聊聊 KMP 算法 -- 我懂,你也得懂
- 【pytorch】简单的线性回归
- 简单的并查集的实现
- 【python-leetcode269-拓扑排序】火星字典
- 通俗点聊聊算法 - 排序(3)快速排序,亲测
- springmvc之如何对表单数据进行校验
- 基于TypeScript封装Axios笔记(七)
- 2015年javaB组1-4题解析与理解