python - Pandas 在数据框中的索引和系列数据上方插入一行

标签 python pandas indexing dataframe row

我已经进行了多次试验,到目前为止似乎没有任何效果。 我尝试过 df.insert(0, "XYZ", 555) ,它似乎可以工作,直到由于某些我不确定的原因而不起作用。

我知道问题在于索引不被视为系列,因此 df.iloc[0] 不允许您直接在索引列上方插入数据。

我还尝试在数据帧定义的索引列表部分中手动添加值为“XYZ”的第一个索引..但没有任何效果。

感谢您的帮助

A B C D 是我的专栏。 range(5) 是我的索引。我试图在下面获取此内容,对于以类型开头的任意行,然后是字符串列表..谢谢

         A         B         C         D

type 'string1' 'string2' 'string3' 'string4'

0
1
2
3
4

如果您使用时间戳作为索引添加一行和具有自己的自定义索引的自定义单行将引发错误: ValueError:无法将整数值添加到没有偏移的时间戳。我猜这是由于操作数的差异,例如,如果我从时间戳中减去整数..?我怎样才能以通用的方式解决这个问题?谢谢! -

最佳答案

如果您想在第一行之前插入一行,可以这样做:

数据:

In [57]: df
Out[57]:
  id  var
0  a    1
1  a    2
2  a    3
3  b    5
4  b    9

添加一行:

In [58]: df.loc[df.index.min() - 1] = ['z', -1]

In [59]: df
Out[59]:
   id  var
 0  a    1
 1  a    2
 2  a    3
 3  b    5
 4  b    9
-1  z   -1

排序索引:

In [60]: df = df.sort_index()

In [61]: df
Out[61]:
   id  var
-1  z   -1
 0  a    1
 1  a    2
 2  a    3
 3  b    5
 4  b    9

可以选择重置您的索引:

In [62]: df = df.reset_index(drop=True)

In [63]: df
Out[63]:
  id  var
0  z   -1
1  a    1
2  a    2
3  a    3
4  b    5
5  b    9

关于python - Pandas 在数据框中的索引和系列数据上方插入一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39358661/

相关文章:

python - 将 python 回调函数传递给 Fortran 子例程的开销是多少?

python - 删除不包含指定整数值的行(Pandas)

Python:如何计算句子中的pos标签?

python - 如何更改 Django 电子邮件中的发件人地址?

python - 如何在没有 for 循环的情况下从现有列中有效地创建标签列并将它们放在后面

MySQL 索引仅用于最大值和最小值

mysql - 如果这个键已经是一个索引,是否值得在一个键上对 MySQL 表进行分区?

java - 在 Java ArrayList 中查找最大元素

python - 如何在 Python Pandas 中使用 groupby().apply() 而不是在整个数据集上运行循环?

python - 使用实际数据在图上添加回归线