当前位置: 首页 > 知识库问答 >
问题:

基于某些列值选择行将返回空数据帧

庄瀚玥
2023-03-14

我想根据某个列变量的不同值从数据框中选择行,并制作直方图。

import numpy as np
import pandas as pd
import csv
import matplotlib.pyplot as plt

df_train=pd.read_csv(r'C:\users\visha\downloads\1994_census\adult.data')
df_train.columns = ["age", "workclass", "fnlwgt", "education",
"educationnum", "maritalstatus", "occupation",
"relationship", "race", "sex", "capitalgain",
"capitalloss", "hoursperweek", "nativecountry",
"incomelevel"]

df_train.dropna(how='any')
df_train.loc[(df_train!=0).any(axis=1)]
#df_train.incomelevel = pd.to_numeric(df_train.incomelevel, errors = 
'coerce').fillna(0).astype('Int64')
df_train.drop(columns='fnlwgt', inplace = True)

#df_test=pd.read_csv(r'C:\users\visha\downloads\1994_census\adult.test')

#df_train.boxplot(column = 'age', by = 'incomelevel', grid = False)

df_train.loc[df_train['incomelevel'] == '<=50K']
#df_train.loc[df_train['incomelevel'] == '>50K']

输出:空数据框列:[年龄、工人阶级、fnlwgt、教育程度、受教育人数、婚姻状况、职业、关系、种族、性别、capitalgain、CapitalAlloss、每周小时数、国家、收入水平]索引:[]

从上面的几行可以看出,我试图选择收入水平为'

共有1个答案

孟浩慨
2023-03-14

你应该调用csv与skip0019 alspace=True,因为有空间在每个值的前面,那么它的工作原理:

df = pd.read_csv('adult.data', header=None, skipinitialspace=True)
df.columns = ["age", "workclass", "fnlwgt", "education",
"educationnum", "maritalstatus", "occupation",
"relationship", "race", "sex", "capitalgain",
"capitalloss", "hoursperweek", "nativecountry",
"incomelevel"]
df = df[df['incomelevel']=='<=50K']
print(df.head())

  age         workclass  fnlwgt  education  educationnum       maritalstatus  ...     sex capitalgain capitalloss hoursperweek  nativecountry  incomelevel
0   39         State-gov   77516  Bachelors            13       Never-married  ...    Male        2174           0           40  United-States        <=50K
1   50  Self-emp-not-inc   83311  Bachelors            13  Married-civ-spouse  ...    Male           0           0           13  United-States        <=50K
2   38           Private  215646    HS-grad             9            Divorced  ...    Male           0           0           40  United-States        <=50K
3   53           Private  234721       11th             7  Married-civ-spouse  ...    Male           0           0           40  United-States        <=50K
4   28           Private  338409  Bachelors            13  Married-civ-spouse  ...  Female           0           0           40           Cuba        <=50K
 类似资料:
  • 问题内容: 我有一个带有很多列的oracle数据库表,我在上面运行一些查询。 我不完全知道我要在查询中查找什么数据,因此我想返回所有列,但是我不想寻找我认为有意义的列。 问题 假设一个表(表1)包含 A列,B列,C列… Z列 - 有没有一种方法可以说“选择C列,J列,F列,Q列,然后选择表1中的其余列”? 我尝试过的事情 与伪sql保持一致,运行: 从表1中选择C列,J列,F列,Table1。*

  • 问题内容: 在使用时,我正在获取一些价值。我搜寻了很多,但徒劳无功。 以下是我的代码: 输出控制台: 所有日期字符串的格式都是相同的,但对于几个值我还是没有。为什么这样?请帮忙。我哪里错了? 问题答案: 格式应该是24小时的 HH ,即使您只获得12小时的值。

  • 假设我有一个7列的数据帧,有些行有7个值,有些行的NAs超过了某个点。我想抓住最后一个值(从左到右),不是NA,然后直接向左的值。它是分层数据,但有些组比其他组更深。我想要最深和第二深的组在一个新的数据帧的两列。 这段代码可以工作,但对于46K观测值的数据帧,我的内存已达到最大。有没有比这更有效的方法? 第一次发帖。通常我可以拼凑我需要从这个网站。提前感谢。

  • 问题内容: 使用on_change回调,我可以在Bokeh中获取DataTable中所选内容的数字行索引。是否可以:a)获取列索引b)获取索引值(列标题和行标题) 示例代码: 这给出了以下内容,它们可以返回行以及选择中的值。如果我总是希望返回单个列,则这是理想的。但是,选择UI(虚线)似乎表明特定的列是已知的,而不仅仅是行。如果无法获得选定的列,我可以同时使用行索引和单元格值来查找它吗? 本地服务

  • 我有一个带有键的HashMap,值是字符串。我想通过以字符串“locationid”开头的键值过滤HashMap,并将键中的值返回到字符串数组列表中。HashMap的填充方式如下: 我需要arraylist中的ORG_Id值。 我找不到可以将值放入字符串列表的位置。编译错误是它不识别values()方法。 更新还尝试将筛选后的Hashmap放入另一个Hashmap中,如下所示: 但得到的编译错误是

  • 问题内容: 假设我有一个包含A列,B列和C列的表。如何编写查询以选择A列或B列或C列等于某个值的所有行?谢谢。 更新: 我想忘记提及我的困惑了。假设还有另一列(第1列),我需要根据以下逻辑进行选择: …其中Column1 =’..’AND(ColumnA =’..’OR ColumnB =’..’OR ColumnC =’..’) 像我上面用括号所做的那样对语句进行分组以获得所需的逻辑有效吗? 问