解决KeyError: "Passing list-likes to .loc or [] with any missing labels is no longer supported"错误最近,在使用...这是由于最新版本的Pandas库不再支持将缺少标签的列表传递给.loc或[]索引器。在本文中,我将分享如何解决这个错误并继续使用Pandas进行数据处理。...当我们使用列表(或其他可迭代对象)传递给.loc或[]索引器时,Pandas在查找标签时可能会遇到缺失的标签,这会导致KeyError。...希望这个示例代码能够帮助你解决实际应用中遇到的类似问题。在Pandas中,通过索引器.loc或[]可以用于查找标签。这些标签可以是行标签(索引)或列标签。...需要注意的是,在Pandas中,索引器.loc和[]可以实现更灵活的选择和筛选操作,还可以使用切片操作(如df.loc[:, 'column1':'column2'])来选择连续的行或列
数据帧上最基本,最常见的操作之一是重命名行或列的名称。...乍看之下,这两种操作都非常简单直观。 第二个操作实际上是检查数据帧是否具有相同标签的索引,以及是否具有相同数量的元素。 如果不是这种情况,操作将失败。...'Mesa Community College' >>> college.loc[start:stop] 工作原理 将标量值,标量列表或切片对象传递给.iloc或.loc索引器,会使 Pandas 扫描索引标签中的适当行并返回它们...从本质上讲,它实际上是掩盖或掩盖数据集中的值。 准备 在此秘籍中,我们将屏蔽 2010 年之后制作的电影数据集的所有行,然后过滤所有缺少值的行。...缺少值是float数据类型,因此任何以前的整数列现在都是浮点数。 如果列的数据类型不同,即使值相同,equals方法也会返回False。
---- 第01章 Pandas基础 第02章 DataFrame运算 第03章 数据分析入门 第04章 选取数据子集 第05章 布尔索引 第06章 索引对齐 第07章 分组聚合、过滤、转换...第08章 数据清理 第09章 合并Pandas对象 第10章 时间序列分析 第11章 用Matplotlib、Pandas、Seaborn进行可视化 ---- In[1]: import pandas...# 使用loc,对指定的列做过滤操作,可以清楚地看到过滤是否起作用 In[19]: cols = ['imdb_score', 'content_rating', 'title_year']...[71]: 0.91000000000000003 # where条件可以返回一个同样大小的Series,但是所有False会被替换成缺失值 In[73]: fb_likes.where(criteria_high..., False, False], dtype=bool) In[103]: len(a), len(criteria) Out[103]: (4916, 4916) 更多 # 传入的布尔索引可以跟要操作的
pandas中怎么导入数据:pd.read_csv("file_path") 观察数据信息 head()查看前n行数据,默认是前5行 info()查看数据的各种属性和标签 数据中部分属性存在缺失值...数据预处理 严重缺失值的删除 # 将缺失值严重的数据进行删除 # axis=1:表示对列进行操作,inplace=True表示用生成的数据代替原来的数据 data.drop(["Cabin","Name...()) # 用均值进行填充 # 将存在缺失值数据的行进行删除,dropna默认对行进行操作 data = data.dropna() Age字段中缺少量的值,通过平均值来进行填充,学习下fillna...函数,默认是填充0;填充不仅仅是均值 Embarked字段中缺少值,将其他的字段全部dropna,使得每个属性的数据相同 ?...apply(lambda x: labels.index(x)) 在sex属性中只有M-F,转成0-1 loc:标签索引 iloc:数值索引 int(True)结果为1 # data["sex
在整个DataFrame上操作 In[18]: pd.options.display.max_rows = 8 movie = pd.read_csv('data/movie.csv...: 137648 # 该数据集的维度 In[20]: movie.ndim Out[20]: 2 # 该数据集的长度 In[21]: len(movie) Out[21]: 4916 # 各个列的值的个数...默认条件下,聚合方法min、max、sum,不会返回任何值。...强行返回每列的值,必须填入缺失值。...在DataFrame上使用运算符 # college数据集的值既有数值也有对象,整数5不能与字符串相加 In[37]: college = pd.read_csv('data/college.csv'
7.1 计算布尔统计信息 读取电影数据集,检查前几行: >>> import pandas as pd >>> import numpy as np >>> movie = pd.read_csv(...,返回的是个DataFrame: >>> college[college["INSTNM"] == "Stanford University"] INSTNM CITY...这张图看不出数据分布,大部分都是小于20000的: >>> criteria_high = fb_likes < 20_000 >>> criteria_high.mean().round(2) 0.91...2010] 1.07 ms ± 34.9 μs per loop (mean ± std. dev. of 7 runs, 1000 loops each) ---- 7.10 使用布尔值、整数位置和标签选取数据...()] >>> movie_iloc.equals(movie_loc) True 选取数据类型是int64的: >>> criteria_col = movie.dtypes == np.int64
背景Python的数据分析能力非常出色,因为它有广泛的功能库和工具,可为数据准备、清理、分析和呈现提供全面支持。...Pandas和NumPy是Python用于数据科学的核心库,pandas提供数据框架,而NumPy则提供了广泛的数值计算操作。...Pandas的数据框架十分强大,允许用户使用数据运算、数据筛选、数据过滤等等操作,自如地处理数据。...我们可以通过查找所有不同的职业以及计算每个职业的人数,了解数据集的结构。在这个代码片段中,我们也可以将数据的子集创建为一个新的数据框架。...我们先从数据集中选择年龄和性别两个特征,以收入作为标签。然后,我们使用train_test_split()函数将数据集划分为训练集和测试集,以训练和评估模型。
概览 pandas.DataFrame 创建DataFrame 列表 字典 系列(Series) 列选择 列添加 列删除 pop/del 行选择,添加和删除 标签选择 loc 按整数位置选择 iloc...行切片 附加行 append 删除行 drop 数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列 数据帧(DataFrame)的功能特点: 潜在的列是不同的类型 大小可变 标记轴...2 index 对于行标签,要用于结果帧的索引是可选缺省值np.arrange(n),如果没有传递索引值。 3 columns 对于列标签,可选的默认语法是 - np.arange(n)。...这只有在没有索引传递的情况下才是这样。 4 dtype 每列的数据类型。 5 copy 如果默认值为False,则此命令(或任何它)用于复制数据。...DataFrame中删除或删除行。
np Pandas的DataFrame(数据帧) 使用read_csv()函数将数据从磁盘读入内存中的DataFrame对象。...__class__, pd.Index) True DataFrame的.values属性(或.to_numpy()方法)可以将索引、列、数据转换为ndarray,也就是Numpy的n维数组: >>>...', 'imdb_score', 'aspect_ratio', 'movie_facebook_likes'], dtype=object) 了解数据类型 广义上讲,可以将数据分为连续数据和离散的类别数据...float - NumPy的浮点类型,支持缺失值; int - NumPy的整数类型,不支持缺失值; Int64 - Pandas的整数类型,支持缺失值; object - NumPy用于存储字符串和混合类型的的数据类型...; category - Pandas的类别类型,支持缺失值; bool - NumPy的布尔类型,不支持缺失值(None变为False,np.nan变为True); boolean - Pandas
这一语句返回1990年代的所有条目。 ? 索引 前几部分为我们展示了如何通过列操作来获得数据。实际上,Pandas同样有标签化的行操作。这些行标签可以是数字或是其他标签。...在返回的series中,这一行的每一列都是一个独立的元素。 可能在你的数据集里有年份的列,或者年代的列,并且你希望可以用这些年份或年代来索引某些行。这样,我们可以设置一个(或多个)新的索引。 ?...这里,loc和iloc一样会返回你所索引的行数据的一个series。唯一的不同是此时你使用的是字符串标签进行引用,而不是数字标签。 ix是另一个常用的引用一行的方法。...那么,如果loc是字符串标签的索引方法,iloc是数字标签的索引方法,那什么是ix呢?事实上,ix是一个字符串标签的索引方法,但是它同样支持数字标签索引作为它的备选。 ?...你也可以忽略这个参数,这样Pandas会自动确定合并哪列。 如下你可以看到,两个数据集在年份这一类上已经合并了。rain_jpn数据集仅仅包含年份以及降雨量。
使用索引 使用.loc与.iloc 查询数据集 分类和汇总数据 对列进行操作 指定数据类型 数据清洗 数据可视化 一、安装与数据介绍 pandas的安装建议直接安装anaconda,会预置安装好所有数据分析相关的包...这将会数据访问方法更具可读性: >>> colors.loc[1] 'red' >>> colors.iloc[1] 'purple' colors.loc[1]返回"red"带有标签的元素1。...colors.iloc[1]返回"purple"带有索引的元素1。下图就显示.loc与.iloc引用了哪些元素: ? 可以看出.loc指向图像右侧的标签索引。而iloc指向图片左侧的位置索引。...我们可以在初始数据清理阶段添加列或删除列,也可以稍后基于分析的见解来添加和删除列。...结束语 走到这里,有关pandas的最常用的知识点就已经全部介绍完毕,当然其中有很多部分都值得我们再进一步细讲,比如iloc与loc的使用、matplotlib的各种操作,或者在数据清洗中的各种问题。
尽管这类错误不会触发警告,但可能导致函数或操作以出人意料的方式运行,从而产生未察觉到的结果变化。 我们接下来将深入探讨其中的三个问题。 你是一名在零售公司工作的数据分析师。...假设促销数据存储在一个DataFrame中,看起来像下面这样(实际上不会这么小): 如果你想跟随并自己做示例,以下是用于创建这个DataFrame的Pandas代码: import pandas as...在Pandas的DataFrame上进行索引非常有用,主要用于获取和设置数据的子集。 我们可以使用行和列标签以及它们的索引值来访问特定的行和标签集。 考虑我们之前示例中的促销DataFrame。...操作按预期执行(即值更新为45),但我们不应该忽视这个警告。 根据Pandas文档,“分配给链式索引的乘积具有内在的不可预测的结果”。主要原因是我们无法确定索引操作是否会返回视图或副本。...因此,我们尝试更新的值可能会更新,也可能不会更新。 进行此操作的更好(且有保证的)方法是使用loc方法,它保证直接在DataFrame上执行操作。
当以某种方式组合多个序列或数据帧时,在进行任何计算之前,数据的每个维度会首先自动在每个轴上对齐。...另见 Pandas Index的官方文档 生成笛卡尔积 每当两个序列或数据帧与另一个序列或数据帧一起操作时,每个对象的索引(行索引和列索引)都首先对齐,然后再开始任何操作。...最后,在第 24 步中,我们使用.loc索引器同时选择前 250 天(行)以及仅特朗普和奥巴马的列。ffill方法用于少数总统在特定日期缺少值的情况。...实际上,所有可以发送到 pandas Timestamp构造器的字符串都将在这里工作。 出乎意料的是,对于该秘籍中的任何选择或切片,实际上都没有必要使用.loc索引器。...绘制现在存储在fc_intp中的新数据。 为了更清楚地显示缺少的数据,我们选择原始数据中缺少的点,并在前一条线上方的相同轴上绘制线图。
除了简单情况外,很难预测它是否会返回视图或副本(它取决于数组的内存布局,关于这一点,pandas 不做任何保证),因此__setitem__是否会修改dfmi或立即被丢弃的临时对象。...pandas 有 SettingWithCopyWarning,因为在切片的副本上赋值通常不是有意的,而是由于链式索引返回了一个副本而预期的是一个切片引起的错误。...请参阅 使用标签进行切片 和 端点是包含的。) 布尔数组(任何 NA 值都将被视为 False)。 带有一个参数(调用系列或数据帧)并返回索引的有效输出(上述之一)的 callable 函数。...了解这些操作的顺序以及为什么方法 2(.loc)比方法 1(chained [])更受欢迎是很有启发性的。 dfmi['one']选择列的第一级,并返回一个单索引的 DataFrame。...在简单情况之外,很难预测它是否会返回视图或副本(这取决于数组的内存布局,pandas 对此不提供任何保证),因此无论__setitem__是否会修改dfmi还是立即被丢弃的临时对象。
读取数据集 本次演示使用Kaggle上提供的客户流失数据集[1]。 让我们从将csv文件读取到pandas DataFrame开始。...这些方法根据索引或标签选择行和列。 loc:带标签选择 iloc:用索引选择 先创建20个随机indices。...尽管我们对loc和iloc使用了不同的列表示形式,但行值没有改变。原因是我们使用数字索引标签。因此,行的标签和索引都相同。 缺失值的数量已更改: ? 7.填充缺失值 fillna函数用于填充缺失值。...这对于顺序数据(例如时间序列)非常有用。 8.删除缺失值 处理缺失值的另一种方法是删除它们。“已退出”列中仍缺少值。以下代码将删除缺少任何值的行。...endswith函数根据字符串末尾的字符进行相同的过滤。 Pandas可以对字符串进行很多操作。
在此基础上,可以通过标签访问Series的值,使用一个叫做index的类似数字的结构。标签可以是任何类型的(通常是字符串和时间戳)。...对于非数字标签来说,这有点显而易见:为什么(以及如何)Pandas在删除一行后,会重新标记所有后续的行?对于数字标签,答案就有点复杂了。...否则,可以在构造函数或赋值运算符中使用None(尽管对于不同的数据类型,它的实现方式略有不同),例如: 对于NaN,可以做的第一件事是了解是否有任何NaN。...字符串和正则表达式 几乎所有的Python字符串方法在Pandas中都有一个矢量的版本: count, upper, replace 当这样的操作返回多个值时,有几个选项来决定如何使用它们: split...对于每一组,要求提供元素的总和,元素的数量,以及每一组的平均值。 除了这些集合功能,还可以根据特定元素在组内的位置或相对价值来访问它们。
,仅支持一维和二维数据,但数据内部可以是异构数据,仅要求同列数据类型一致即可 numpy的数据结构仅支持数字索引,而pandas数据结构则同时支持数字索引和标签索引 从功能定位上看: numpy虽然也支持字符串等其他数据类型...仅支持数字索引,pandas的两种数据结构均支持标签索引,包括bool索引也是支持的 类比SQL的join和groupby功能,pandas可以很容易实现SQL这两个核心功能,实际上,SQL的绝大部分DQL...切片类型与索引列类型不一致时,引发报错 loc/iloc,最为常用的两种数据访问方法,其中loc按标签值访问、iloc按数字索引访问,均支持单值访问或切片查询。...与[ ]访问类似,loc按标签访问时也是执行范围查询,包含两端结果 at/iat,loc和iloc的特殊形式,不支持切片访问,仅可以用单个标签值或单个索引值进行访问,一般返回标量结果,除非标签值存在重复...是在numpy的基础上实现的,所以numpy的常用数值计算操作在pandas中也适用: 通函数ufunc,即可以像操作标量一样对series或dataframe中的所有元素执行同一操作,这与numpy
epoch: 在整个训练集上训练迭代(参数更新)的次数 fit_bias: 是否训练偏置项参数 ''' self.alpha = alpha...模型的训练和预测 # 实例化一个对象 model = LinearRegression() # 在训练集上训练 model.fit(X_train, y_train) # 在测试集上预测 y_pred...实例十一:kmeans的其他展示方式 '''' 实例十一:•kmeans的其他展示方式 ''' import pandas as pd from sklearn import datasets from...data = iris # 去除最后一列的数据,也就是标签 data1 = df # print(data1) # 聚类数为3 km = KMeans(n_clusters=3) # 拟合数据 km.fit...plt # 读取数据 data = pd.read_csv(r"C:\Users\单纯小男子\Downloads\iris.csv") # 去除最后一列的数据,也就是标签 data1 = data.drop
它建立在NumPy库的基础上,借用了它的许多概念和语法约定,所以如果你对NumPy很熟悉,你会发现Pandas是一个相当熟悉的工具。...例如,为了区分不同州的城市,州名通常被附加到城市名上。(你知道美国有大约40个斯普林菲尔德吗?)在关系型数据库中,它被称为复合主键。...操作levels 除了已经提到的方法之外,还有一些其他的方法: pdi.get_level(obj, level_id)返回一个通过数字或名称引用的特定级别,适用于DataFrames、Series和MultiIndex...上面的所有操作都是在传统意义上理解level这个词(level标签数与DataFrame中的列数相同),向最终用户隐藏index.label和index.code的机制。...官方Pandas文档有一个表格[4],列出了所有~20种支持的格式。 多指标算术 在整体使用多索引DataFrame的操作中,适用与普通DataFrame相同的规则(见第三部分)。
这是一个关于 pandas 从基础到进阶的练习题系列,来源于 github 上的 guipsamora/pandas_exercises 。...这个项目从基础到进阶,可以检验你有多么了解 pandas。 我会挑选一些题目,并且提供比原题库更多的解决方法以及更详尽的解析。 计划每天更新一期,希望各位小伙伴先自行思考,再查看答案。...上期文章:pandas每天一题-题目12:复杂筛选 后台回复"数据",可以下载本题数据集 如下数据: import pandas as pd import numpy as np df = pd.read_csv...显然,Team 为队名,唯一的 前面章节讲解过的知识点,本文不再讲解!...个bool列之间做"或"运算,这里的逻辑很简单,"列名叫 Team 或者 是列名包含 shot 的列" 做 "并" 运算,可以使用 "&" ---- 推荐阅读: Python如何提取文本中的所有数字,
领取专属 10元无门槛券
手把手带您无忧上云