所以我有一个大约400,000列的数据帧。当我试图使用iloc获取所有数据时,它会抛出绑定错误。这是我尝试过的。
index\u second\u update=the\u data.index.tolist()
iloc[index\u second\u update]
Traceback (most recent call last):
File "/home/dev/.local/lib/python3.6/site-packages/pandas/core/indexing.py",
第2130行,在获取列表中,轴返回self.obj.take(key,axis=axis)文件“/home/dev/.local/lib/python3.6/site packages/pandas/core/generic.py”,第3604行,在获取索引中,轴=self。获取块管理器轴(axis),验证=True文件“/home/dev/.local/lib/python3.6/site packages/pandas/core/internals/managers.py”,第1389行,在take indexer=maybe\u convert\u index(indexer,n)文件“/home/dev/.local/lib/python3.6/site packages/pandas/core/indexers.py”的第201行中,maybe\u convert\u index raiser(“索引超出范围”)indexer:索引超出范围
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/dev/.local/lib/python3.6/site-packages/pandas/core/indexing.py",
_getitem_axis(maybe_callable,轴=轴)File"/home/dev/. place/lib/python3.6/site-包/熊猫/core/indexing.py",第2148行,_getitem_axis返回自己。_get_list_axis(key,轴=轴)File"/home/dev/. place/lib/python3.6/site-包/Pandas/core/indexing.py",第2133行,_get_list_axis提升IndexError("位置索引器越界")
一些更多的细节:
Len(index_second_update)=446882
index\u second\u update==the\u data.index.tolist()
真实的
奇怪的是,它在大约20万行时崩溃了。在那之前,它工作得非常好。
df.loc
通过每行的标签访问熊猫,不一定是行号。
下面的代码对您有用,它通过行标签访问数据
index_second_update = the_data.index.tolist()
the_data.loc[index_second_update]
或者更简单地说:
the_data.loc[the_data.index]
例如,在下面的数据框中查找非行号的索引时,行按名称进行标记。
import pandas as pd
csv = """\
Name,Birth Year
Joe,2000
Bill,1998
Mike,1996
Frank,1995"""
from io import StringIO
df = pd.read_csv(StringIO(csv))
df.set_index('Name')
Birth Year
Name
Joe 2000
Bill 1998
Mike 1996
Frank 1995
我有两个形状相同的python数据帧,例如: 我想使用df2中的值作为行索引来选择df1中的值,并创建一个形状相等的新数据帧。预期结果: 我已尝试使用.loc,它在单个列中运行良好: 但是我不能同时在所有列上使用. loc或. iloc。我想避免循环来优化性能,因为我正在处理一个大数据帧。有什么想法吗?
我得到了一个具有多个列和行的数据帧df1。简单的例子: 我想创建一个空的数据框df2,然后再添加新的列和计算结果。 此时,我的代码如下所示: …添加两个新列: 有没有更好/更安全/更快的方法?是否可以创建一个空数据帧df2,并且只从df1复制索引?
我有一个DF,其中包含一个巨大的可解析元数据,作为Dataframe中的单个字符串列,我们称之为DFA,使用ColmnA。 我想通过一个函数,ClassXYZ = Func1(ColmnA)将ColmnA这一列分成多个列。这个函数返回一个具有多个变量的类ClassXYZ,现在每个变量都必须映射到新的列,比如ColmnA1、ColmnA2等。 我如何通过调用Func1一次来完成从一个数据帧到另一个数
我有2个数据帧在apache火花。 df 1有显示编号和说明。。。数据看起来像 不显示描述a这是米奇b唐纳德来了c玛丽和乔治回家d玛丽和乔治进城 第二个数据帧有字符 人物 乔治 唐纳德 玛丽 米妮 我需要搜索节目描述,找出哪个节目的特征是哪个角色... 最终输出应该如下所示 乔治|c,d 唐纳德|b 玛丽|c. d 米妮|不显示 这些数据集经过精心设计,非常简单,但它表达了我试图实现的搜索功能。我
我有一个数据框,我正在使用TIA来填充彭博社的数据。当我看着df。索引我看到我打算成为列的数据以多索引的形式呈现给我。df的输出。列是这样的: 索引([u'column1','u'column2']) 我尝试过各种reset_index的迭代,但都无法补救这种情况。 1) TIA管理器如何使数据帧列作为索引读入? 2) 如何正确地将这些列标识为列而不是多索引? 我试图解决的最终问题是,当我尝试将此
我有一个多索引数据框,看起来像 uid tid文本 abc x t1 bcd y t2 uid 和 tid 是索引。我有一个 uid 列表,并希望获取与该列表中的 uid 相对应的行,但保留第 2 级索引值 (tid)。我想在不运行任何显式循环的情况下执行此操作。这可能吗?