python - python - 当其他列等于某些值时,csvfile用NaN替换列值
问题描述
对不起,如果标题有点长而且很奇怪......
我有以下 csv 文件:
Date,Value1,Value2
01-01-01,01,01
02-01-01,02,00
03-01-01,03,01
04-01-01,04,01
在这个数据集中,当列的数据相等时,我想Value1
用 a 替换列的数据。NaN
Value2
00
所以输出数据集应该是这样的:
Date,Value1,Value2
01-01-01,01,01
02-01-01,NaN,00
03-01-01,03,01
04-01-01,04,01
我尝试使用以下代码,但我缺少一些条件,它显然不起作用:
data = pd.read_csv("test.csv")
data['Value1'][data.Value2 == 00] = np.NaN
有谁知道如何实现这一目标?
解决方案
import pandas as pd
import numpy as np
df=pd.read_csv('C:/Users/your_csv.csv')
df.loc[df['Value2'] == 0,'Value1']=np.nan
输出
Date Value1 Value2
0 1/1/2001 1.0 1
1 2/1/2001 NaN 0
2 3/1/2001 3.0 1
3 4/1/2001 4.0 1
推荐阅读
- java - 为什么我得到错误的结果
- devops - powershell脚本监控日志文件
- vue.js - Vue CDN - 如何将外部 html 页面包含为模板
- google-app-engine - Google App Engine 上的 FastAPI:为什么我会收到重复的云任务?
- javascript - 无法使用 three.js 加载个人 3d 模型
- typescript - 如何解决使用“as”关键字引起的问题
- video - 下载视频
- c - C 程序是否可以访问和更改分配给另一个程序的堆中的内存地址?
- time - Python3 - 如何制作一个显示 8 秒的微调器
- python - 获取 [SSL: CERTIFICATE_VERIFY_FAILED] 即使在将安装证书添加到 docker 之后