【问题标题】:Append a list on missing value index在缺失值索引上附加列表
【发布时间】:2021-12-26 16:03:33
【问题描述】:
{
"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、字节或字节数组,而不是列表”和“列表索引必须是整数或切片,而不是 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)

【问题讨论】:

    标签: python json list csv enumeration


    【解决方案1】:

    您可以使用 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']]
    

    【讨论】:

    • 非常感谢,祝您有美好的一天
    猜你喜欢
    • 2015-08-03
    • 1970-01-01
    • 2020-10-20
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    相关资源
    最近更新 更多