我有一个问题,我通过沿行轴串联(垂直堆叠)来生成熊猫数据框。
每个组成数据帧都有一个自动生成的索引(升序编号)。
串联后,我的索引被搞砸了:它的计数最多为n(其中n是相应数据帧的shape [0]),并在下一个数据帧从零重新开始。
我正在尝试“根据给定的当前顺序重新计算索引”或“重新索引”(或者我认为)。事实证明,这DataFrame.reindex
似乎并没有在做。
这是我尝试做的事情:
train_df = pd.concat(train_class_df_list)
train_df = train_df.reindex(index=[i for i in range(train_df.shape[0])])
它失败并显示“无法从重复的轴重新索引”。我不想更改数据的顺序…只需要删除旧索引并设置一个保留行顺序的新索引即可。
垂直连接后,如果得到的索引为 [0,n), 然后是 [0,m)
,则只需执行以下操作reset_index
:
train_df.reset_index(drop=True)
(您可以使用进行就地操作inplace=True
)。
import pandas as pd
>>> pd.concat([
pd.DataFrame({'a': [1, 2]}),
pd.DataFrame({'a': [1, 2]})]).reset_index(drop=True)
a
0 1
1 2
2 1
3 2
问题内容: 给定一个数据帧字典,例如: 其中每个数据框具有相同的列和相似的索引,例如: 最简单的方法是将所有数据帧组合成一个,并具有如下所示的多索引: 我尝试了几种方法-例如,对于每个数据框,使用多索引之类替换列,然后将其串联,但没有成功。 问题答案: 您可以使用(参数将创建层次结构列索引)执行此操作: 确实需要列表,因此以下等效:
本文向大家介绍Pandas之ReIndex重新索引的实现,包括了Pandas之ReIndex重新索引的实现的使用技巧和注意事项,需要的朋友参考一下 约定: ReIndex重新索引 reindex()是pandas对象的一个重要方法,其作用是创建一个新索引的新对象。 一、对Series对象重新索引 代码结果: d 1 c 7 a 3 f 9 dtype: int64 调用re
我正在尝试计算在右列中拖动的元素的总数。这是可行的,但它只是计算该列中的两个默认元素。如果我拖动新项目,总数保持不变。我做了这个小提琴:https://jsfidle.net/ehkgcnyp/ 我如何考虑新项目? 谢谢!
主要内容:重置行列标签,填充元素值,限制填充行数,重命名标签重置索引(reindex)可以更改原 DataFrame 的行标签或列标签,并使更改后的行、列标签与 DataFrame 中的数据逐一匹配。通过重置索引操作,您可以完成对现有数据的重新排序。如果重置的索引标签在原 DataFrame 中不存在,那么该标签对应的元素值将全部填充为 NaN。 重置行列标签 看一组简单示例: 输出结果: 现有 a、b 两个 DataFrame 对象,如果想让 a 的行
问题内容: 我正在尝试重新索引熊猫对象,像这样, 我正在如下所示进行操作,并且得到了错误的答案。有关如何执行此操作的任何线索? 知道为什么会这样吗? 问题答案: 为什么不简单地使用方法?
问题内容: 我的日食没有启动,因为我的计算机有点死机了,所以我不得不强制重新启动它。当我不得不重新启动时,Eclipse是打开的,我相信这很可能是原因。我不知道该如何解决。每当我尝试打开它时,它都会告诉我检查工作区中的.log文件,并显示: http://paste.strictfp.com/26579 而且我不知道如何解决它。请帮忙? 问题答案: 您缺少 第125行的 类,您必须重新安装才能解决