python - 根据索引值在“A”列中插入 Null
问题描述
我有一个索引号为“l1”的列表,我想根据这些索引号将“A”列中的值替换为 NaN
当前数据
Index A
0 Reviewer: Newbie | 35-44 on Treatment for 1
1 Reviewer: 45-54 on Treatment for less than 1
2 Reviewer: Ocetech| 65-74 Male on Treatment
3 Reviewer: virleo| 55-64 Female on Treatment
4 Reviewer: Diane perrin| 65-74 on Treatment for
l1 = [ 1 , 3, 4]
预期产出
Index A
0 Reviewer: Newbie | 35-44 on Treatment for 1
1 NaN
2 Reviewer: Ocetech| 65-74 Male on Treatment
3 NaN
4 NaN
解决方案
只是在复制你的 DataFrame 之后的细节..
导入 numpy 以将Nan
值设置为所需的索引。
import pandas as pd
import numpy as np
你的数据框:
$ df
A
0 Reviewer: Newbie | 35-44 on Treatment for 1
1 Reviewer: 45-54 on Treatment for less than 1
2 Reviewer: Ocetech| 65-74 Male on Treatment
3 Reviewer: virleo| 55-64 Female on Treatment
4 Reviewer: Diane perrin| 65-74 on Treatment for
您的索引列表:
$ l1
[1, 3, 4]
基于loc
对于A
将索引设置为Nan
使用 Numpy 的列..
df.loc[l1,'A'] = np.nan
结果:
print(df)
A
0 Reviewer: Newbie | 35-44 on Treatment for 1
1 NaN
2 Reviewer: Ocetech| 65-74 Male on Treatment
3 NaN
4 NaN
如果您没有要替换为的长索引列表,请注意NaN
,您可以直接指定它们,而不是传递一个列表索引。
$ df.loc[[1,3,4],'A'] = np.nan
$ print(df)
A
0 Reviewer: Newbie | 35-44 on Treatment for 1
1 NaN
2 Reviewer: Ocetech| 65-74 Male on Treatment
3 NaN
4 NaN
另一种方法:
$ df.rename(index={1:np.nan, 3:np.nan, 4:np.nan}, inplace=True)
推荐阅读
- r - AWS Batch 上的进程间通信
- python - python 3.8.6 - 将字符串转换为类似字节的对象
- swift - 当锚点重新出现在视频屏幕中时,使 AR 实体重新出现
- javascript - 为什么不将我的文件保存在 TS 的 dist 目录中
- html - 如何在不使用css拉伸图像的情况下使垂直和水平居中?
- python - 替换列表中的值,同时保留原始值
- javascript - 计算图像中的像素总数
- angular - 如何在 ionic 5 Lottie Splash Screen 中添加电容?
- scala - How to use Table tests on scala?
- angular - Azure Devops Angular 无法识别