私はPythonとデータフレームが初めてです。このような何かを行うには良い方法がありますかと思いまして:データフレームをインデックスする良い方法はありますか?
df['Datetime'] = df.index
df.reset_index(inplace=True, drop=True)
df['id'] = df.index
df.index = df['Datetime']
df.drop('Datetime', axis=1, inplace=True)
私は数式(sin(2*pi*id)
がsin(2*pi*datetime)
より良い作品)でそれを使用することができますので、私はID /インデックス列を必要としています。
列を移動しなくても簡単に生成する方法はありますか?
更新:
print(df.index)
print(df['id'])
出力:
DatetimeIndex(['2013-01-03', '2013-01-04', '2013-01-07', '2013-01-08',
'2013-01-09', '2013-01-10', '2013-01-11', '2013-01-14',
'2013-01-15', '2013-01-16',
...
'2014-01-20', '2014-01-21', '2014-01-22', '2014-01-23',
'2014-01-24', '2014-01-27', '2014-01-28', '2014-01-29',
'2014-01-30', '2014-01-31'],
dtype='datetime64[ns]', length=282, freq=None, tz='UTC')
2013-01-03 00:00:00+00:00 0
2013-01-04 00:00:00+00:00 1
2013-01-07 00:00:00+00:00 2
2013-01-08 00:00:00+00:00 3
2013-01-09 00:00:00+00:00 4
2013-01-10 00:00:00+00:00 5
2013-01-11 00:00:00+00:00 6
2013-01-14 00:00:00+00:00 7
を使用することができますが、インデックスset'、 'ドロップ/する必要はありません、あなたが渡すことができますとにかく 'np.sin(2 * pi * df.index)'がうまく動作するはずです。また、何をしようとしているのではなく 'set_Index'と' reset_index(drop = True) 'を使用してください。 – EdChum
あなたが意味するもののためのいくつかのサンプル入力/出力データは、 "それを数学で使用するatical formula "と、現在どのようにプロセスを実行していますか?これを行うためにインデックスを操作する必要があるようには聞こえませんが、具体的な例がないと不明です。 – root
@EdChumは 'set_Index'について教えてくれてありがとうございます。次回はそのことを覚えておきます。 –