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:目标

  1. 已知一个Df,如下图
    • 包括5["time", "pos", "value1", "value2", "value3"]
    • 包括8[0,1,2,3,4,5,6,7]
  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:部分代码解读

  1. df_1.rename(columns={'time': 'date', 'pos': 'group', 'value1': 'val1', 'value3': 'val3'}) ,关键函数df.rename(columns={原列名:新列名, 原列名:新列名}),通过一个字典的键值对分别表示原列名和新列名。该方法生成了一个新的df,不是直接在原df上进行操作
  2. df_2.drop(['value2'], axis=1, inplace=True),删除列名为value2的列,axis=1表示按列进行删除,inplace=True表示对原df进行操作,保留操作后的结果,与第1点的情况不同
  3. df_2.fillna("yes", inplace=True)nan值用字符串yes进行替换
  4. 定义nan值使用np.nan方法。实际情况中,当df某行某列没有赋值,会出现nan值情况,对于nan值有些情况需要处理,例如使用Django进行网站搭建,后端向前端反馈数据时,不能包括nan

本文为原创作品,欢迎分享朋友圈

长按图片识别二维码,关注本公众号
Python 优雅 帅气
12x0.8.jpg

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值