簡體   English   中英

無法從框架中檢索數據

[英]Unable to retrieve data from frame

我正在嘗試從具有特定條件的數據框中檢索特定數據,但是它顯示為空數據框。 我是數據科學的新手,試圖學習數據科學。 這是我的代碼。

file = open('/home/jeet/files1/files/ch03/adult.data', 'r')
def chr_int(a):
    if a.isdigit(): return int(a)
    else: return 0

data = []
for line in file:
    data1 = line.split(',')
    if len(data1) == 15:
        data.append([chr_int(data1[0]), data1[1],
                   chr_int(data1[2]), data1[3],
                   chr_int(data1[4]), data1[5],
                   data1[6], data1[7], data1[8],
                   data1[9], chr_int(data1[10]),
                   chr_int(data1[11]),
                   chr_int(data1[12]),
                   data1[13], data1[14]])

import pandas as pd
df = pd.DataFrame(data)
df.columns = ['age', 'type-employer', 'fnlwgt', 'education','education_num', 'marital','occupation', 'relationship','race','sex','capital_gain','capital_loss','hr_per_week','country','income']

ml = df[(df.sex == 'Male')] # here i retrive data who is male
ml1 = df[(df.sex == 'Male') & (df.income == '>50K\n')]
print(ml1.head()) # here i printing that data
fm =df[(df.sex == 'Female')]
fm1 = df [(df.sex == 'Female') & (df.income =='>50K\n')]

輸出:

Empty DataFrame
Columns: [age, type-employer, fnlwgt, education, education_num, marital, occupation, relationship, race, sex, capital_gain, capital_loss, hr_per_week, country, income]
Index: []

代碼有什么問題。 為什么數據框為空。

如果您仔細檢查值,您可能會看到問題:

print(df.income.unique())
>>> [' <=50K\n' ' >50K\n']

每個值前面都有空格。 因此,應該對值進行處理以消除這些空格,或者應該像下面這樣修改代碼:

ml1 = df[(df.sex == 'Male') & (df.income == ' >50K\n')]
fm1 = df [(df.sex == 'Female') & (df.income ==' <=50K\n')]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM