82

次のような DataFrame オブジェクトがあります。

       onset    length
1      2.215    1.3
2     23.107    1.3
3     41.815    1.3
4     61.606    1.3
...

私がしたいのは、インデックス値で指定された位置に行を挿入し、それに応じて次のインデックスを更新することです。例えば:

       onset    length
1      2.215    1.3
2     23.107    1.3
3     30.000    1.3  # new row
4     41.815    1.3
5     61.606    1.3
...

これを行う最良の方法は何ですか?

4

5 に答える 5

83

スライスして concat を使用して、必要なものを取得できます。

line = DataFrame({"onset": 30.0, "length": 1.3}, index=[3])
df2 = concat([df.iloc[:2], line, df.iloc[2:]]).reset_index(drop=True)

これにより、出力例にデータフレームが生成されます。私が知る限り、concat は pandas で挿入型操作を実現するための最良の方法ですが、確かに私は pandas の専門家ではありません。

于 2013-04-08T21:10:49.017 に答える