python用dataframe将csv中的0值数据转化为nan缺失值字样

用到这个语句。

c[c==0]=np.nan

我们具体来看一下c和np是什么

np就是我引入的pandas库,
c呢是我读入csv文件的其中一列,列名为“上行业务量GB”
df是整个csv文件的数据,他的类型是dataframe

import numpy as np
import pandas as pd

# 打开文件
FileName= '长期编号.csv'
df = pd.read_csv(FileName, encoding='utf-8')

c = df[['上行业务量GB']]  #选择表格中的'4'列,返回的是DataFrame属性

c[c==0]=np.nan

到这一步,c里的0值都变成nan了。
接下来我们写到新的文件。
我采用将c这一列写回到df中 替换原来的一列

df[['上行业务量GB']] = c

最后,将df写入新的csv里

df.to_csv('补充缺失值后的长期数据.csv')

完整代码如下

"""
Created on Sun Jan 10 18:05:56 2021

@author: Administrator
"""
import numpy as np
import pandas as pd

# 打开文件
FileName= '长期编号.csv'
df = pd.read_csv(FileName, encoding='utf-8')

c = df[['上行业务量GB']]  #选择表格中的'4'列,返回的是DataFrame属性

c[c==0]=np.nan

d[d==0]=np.nan

df[['上行业务量GB']] = c
df.to_csv('补充缺失值后的长期数据.csv')

到此这篇关于python用dataframe将csv中的0值数据转化为nan缺失值字样的文章就介绍到这了,更多相关python csv的0值数据转化为nan缺失值内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python Pandas对缺失值的处理方法

    Pandas使用这些函数处理缺失值: isnull和notnull:检测是否是空值,可用于df和series dropna:丢弃.删除缺失值 axis : 删除行还是列,{0 or 'index', 1 or 'columns'}, default 0 how : 如果等于any则任何值为空都删除,如果等于all则所有值都为空才删除 inplace : 如果为True则修改当前df,否则返回新的df fillna:填充空值 value:用于填充的值,可以是单个值,或者字典(key是列名,valu

  • python解决pandas处理缺失值为空字符串的问题

    踩坑记录: 用pandas来做csv的缺失值处理时候发现奇怪BUG,就是excel打开csv文件,明明有的格子没有任何东西,当然,我就想到用pandas的dropna()或者fillna()来处理缺失值. 但是pandas读取csv文件后发现那个空的地方isnull()竟然是false,就是说那个地方有东西... 后来经过排查发现看似什么都没有的地方有空字符串,故pandas认为那儿不是缺失值,所以就不能用dropna()或者fillna()来处理. 解决思路:先用正则将空格匹配出来,然后全部替

  • Python Pandas找到缺失值的位置方法

    问题描述: python pandas判断缺失值一般采用 isnull(),然而生成的却是所有数据的true/false矩阵,对于庞大的数据dataframe,很难一眼看出来哪个数据缺失,一共有多少个缺失数据,缺失数据的位置. 首先对于存在缺失值的数据,如下所示 import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(10,6)) # Make a few areas have NaN values df.

  • python实现数据预处理之填充缺失值的示例

    1.给定一个数据集noise-data-1.txt,该数据集中保护大量的缺失值(空格.不完整值等).利用"全局常量"."均值或者中位数"来填充缺失值. noise-data-1.txt: 5.1 3.5 1.4 0.2 4.9 3 1.4 0.2 4.7 3.2 1.3 0.2 4.6 3.1 1.5 0.2 5 3.6 1.4 0.2 5.4 3.9 1.7 0.4 4.6 3.4 1.4 0.3 5 3.4 1.5 0.2 4.4 2.9 1.4 0.2 4.9

  • python缺失值的解决方法总结

    1.解决方法 (1)忽视元组. 缺少类别标签时,通常这样做(假设挖掘任务与分类有关),除非元组有多个属性缺失值,否则该方法不太有效.当个属性缺值的百分比变化很大时,其性能特别差. (2)人工填写缺失值. 一般来说,这种方法需要很长时间,当数据集大且缺少很多值时,这种方法可能无法实现. (3)使用全局常量填充缺失值. 将缺失的属性值用同一常数(如Unknown或负无限)替换.如果缺失值都是用unknown替换的话,挖掘程序可能会认为形成有趣的概念.因为有同样的价值unknown.因此,这种方法很简

  • Python时间序列缺失值的处理方法(日期缺失填充)

    前言 因近期进行时间序列分析时遇到了数据预处理中的缺失值处理问题,其中日期缺失和填充在网上没有找到较好较全资料,耗费了我一晚上工作时间,所以下面我对这次时间序列缺失值处理学习做了以下小结以供之后同行们参考指正. 时间序列缺失值处理 一.编程前准备 收集时间序列数据,相信看这篇博客的各位已经完成了这步. 需要安装pandas模块,并利用Python的Lib文件夹自带的datetime库(当时我因为在Pycharm环境中没看到datetime模块又去安装了DateTime模块并看了DateTime英

  • python实现数据清洗(缺失值与异常值处理)

    1. 将本地sql文件写入mysql数据库 本文写入的是python数据库的taob表 source [本地文件] 其中总数据为9616行,列分别为title,link,price,comment 2.使用python链接并读取数据 查看数据概括 #-*- coding:utf-8 -*- #author:M10 import numpy as np import pandas as pd import matplotlib.pylab as plt import mysql.connector

  • python用dataframe将csv中的0值数据转化为nan缺失值字样

    用到这个语句. c[c==0]=np.nan 我们具体来看一下c和np是什么 np就是我引入的pandas库, c呢是我读入csv文件的其中一列,列名为"上行业务量GB" df是整个csv文件的数据,他的类型是dataframe import numpy as np import pandas as pd # 打开文件 FileName= '长期编号.csv' df = pd.read_csv(FileName, encoding='utf-8') c = df[['上行业务量GB']

  • Python实现在某个数组中查找一个值的算法示例

    第一种算法思路: 第一步:随机出来一个数组的下标 第二步:判断下标对应的值是否等于被查找的值,是的话终止,已找到,否的话转第三步. 第三步:判断是否随机完数组的所有下标,是的话终止,没找到,否的话转第一步. 代码如下: #本程序的功能是在字典中查找存在某个值 import random di = {'a':1,'b':2,'c':3,'d':4,'e':5,'f':6} key = 2 di1 = {} while True: tmp = random.choice(di.keys()) #随机

  • 在python带权重的列表中随机取值的方法

    1 random.choice python random模块的choice方法随机选择某个元素 foo = ['a', 'b', 'c', 'd', 'e'] from random import choice print choice(foo) 2 random.sample 使用python random模块的sample函数从列表中随机选择一组元素 list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] slice = random.sample(list, 5)

  • python 实现提取某个索引中某个时间段的数据方法

    如下所示: from elasticsearch import Elasticsearch import datetime import time import dateutil.parser class App(object): def __init__(self): pass def _es_conn(self): es = Elasticsearch() return es def get_data(self, day,start,end): index_ = "gather-apk-20

  • Mysql中关于0值判断的坑及解决

    目录 Mysql关于0值判断的坑 简练问题如下 原因 解决方式 问题引申 Mysql判断数值0误区总结 Mysql关于0值判断的坑 最近遇到一个Mysql返回多值的问题,最后发现是mysql过滤条件中0值判断的问题. 简练问题如下 有个INT字段a,默认值为0,程序传入的判断条件是 a = 'abacd'. 传入的是一个字符串,结果a=0的所有数据都返回了. 原因 mysql会在逻辑判断时,如果是整型判断,但是传入的是字符串,如果字符串不是数字,则字符串会被转换为0.所以, 这段代码实际判断的条

  • 浅谈MySQL数据库中日期中包含零值的问题

    默认情况下MySQL是可以接受在日期中插入0值,对于现实来说日期中的0值又没有什么意义.调整MySQL的sql_mode变量就能达到目的. set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION'; set @@session.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION'; 例子: 有一个用于记录日志的表 c

  • Python Pandas批量读取csv文件到dataframe的方法

    PYTHON Pandas批量读取csv文件到DATAFRAME 首先使用glob.glob获得文件路径.然后定义一个列表,读取文件后再使用concat合并读取到的数据. #读取数据 import pandas as pd import numpy as np import glob,os path=r'e:\tj\month\fx1806' file=glob.glob(os.path.join(path, "zq*.xls")) print(file) dl= [] for f i

  • python 处理dataframe中的时间字段方法

    在机器学习过程中,通常会通过pandas读取csv文件,保持成dadaframe格式,然而有时候需要对dataframe中的时间字段进行数据建模,比如时间格式为datetime,那么像一般操作dataframe的方式来操作时间字段会报错的,所以在使用sklearn库进行fit和predict的时候,通常要把时间字段首先转换为timestamp格式,在fit和predict之后,如果需要matplotlib绘图的时候,再把timestamp格式转换为时间字符串,比如2017-02-01 14:25

  • 使用Python向DataFrame中指定位置添加一列或多列的方法

    对于这个问题,相信很多人都会很困惑,本篇文章将会给大家介绍一种非常简单的方式向DataFrame中任意指定的位置添加一列. 在此之前或许有不少读者已经了解了最普通的添加一列的方式,如下: import pandas as pd feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_train_data.txt", delimiter="\t", header=None, usecols=[0, 1

  • python处理csv中的空值方法

    如下所示: # -*- coding: UTF-8 -*- import jieba.posseg import tensorflow as tf import pandas as pd import csv import math """ 1.必須獲取CSV文件夾(ID:文本) 2.返回(ID:分词后的文本) """ flags = tf.app.flags flags.DEFINE_string("train_file_addres

随机推荐