在缺失值索引上附加一个列表

Append a list on missing value index

{
"First Name": "Jonathan",
"Last Name": "Thomas",
"Marital Status": "married or civil partner",
"Sex": "Male",
"Age (Years)": 46,
"Height": 160,
}

我有一个 600 行的数据集,我给了第一行。

import pandas as pd
df = pd.read_csv("user_data.csv")

df[df["Height"].isnull()].index.tolist()

在上面的代码中我使用了pandas。我想使用默认库以相同的逻辑重写该代码。

逻辑是:查找列上的元素,将缺失的元素写入空列表

我想使用默认库(os、sys、time、JSON、CSV、...)而不是 pandas。你能帮我转换那个代码吗?

我尝试了两个不同的版本,但我得到了相同的错误“JSON 对象必须是 str、字节或字节数组,而不是列表”和“列表索引必须是整数或切片, 不是海峡

正在尝试执行 #1

missing_age_indexes = [idx for idx, obj in enumerate(l['Height']) if obj.get('Height', None) is not None]
missing_age_objects = [l[idx] for idx in missing_age_indexes]
print(missing_age_indexes)

正在尝试执行 #2

for i, j in enumerate(l["Dependants"]):
    if j == None:
        print(i)

您可以使用 csv.DictReader 将 csv 文件中的行作为字典读取,然后遍历结果以检查空 Height 值:

import csv

reader = csv.DictReader(open('user_data.csv'))
missing_age_indexes = [idx for idx, row in enumerate(reader) if not row['Height']]