2017-11-16 8 views
0

私は438x14401のデータフレームを持っています。私はDateTimeIndexが同じ長さ(幅ですか?)、今はちょうど1とラベルされているデータフレームの列と同じです - ...私はそれらの値をDateTimeIndexの日付で置き換えようとしています。Pandas - 列見出しとしてのDatetimeIndex

enter image description here

enter image description here

私は、列見出し0 substitudeしようとしています - 長さに一致する必要がありdatetimeindex値、で終わりを。私は日付の列の名前を変更し、それらをマージしようとしましたが、成功しませんでした。これはすべて可能ですか?

stations = stations.iloc[:,2:].rename(columns=v, inplace=True) 
+0

これは気にしません 右。 Datetimeをインデックスとして使用していないのはなぜですか? –

+0

私は試しましたが、エラーを受け続けました。私は必要に応じてDataFrameを設定することができました。元の投稿を編集します。理想的にはあなたは正しい、それは最高だろう。 – Babeeshka

答えて

1

あなたはstations.columnsに直接ごDatetimeIndexを割り当てることができます。

サンプルDF:

df = pd.DataFrame({'a': [1,2,3], 'b': [9,8,7], 'c': [7,5,1], 'd':[1,3,5]}) 
df 
    a b c d 
0 1 9 7 1 
1 2 8 5 3 
2 3 7 1 5 

some_date_range = pd.date_range('2017-01-01', periods=len(df.columns)) 

df.columns = some_date_range 

df 
    2017-01-01 2017-01-02 2017-01-03 2017-01-04 
0   1   9   7   1 
1   2   8   5   3 
2   3   7   1   5 

は、最初の2つの列の値を(Index以来How do i change a single index value in pandas dataframe?を参照すると、変更可能な操作をサポートしていない)状態に保ちます

aslist = df.columns.tolist() 
aslist[2:] = pd.date_range('2017-01-01', periods=2) 
df.columns = aslist 
df 
    a b 2017-01-01 00:00:00 2017-01-02 00:00:00 
0 1 9     7     1 
1 2 8     5     3 
2 3 7     1     5 
+0

列の配置先を指定できますか?たとえば、座標である最初の2つの列をスキップしますか?私はこの '.iloc [:、2:]'を達成しようとしていますが、長さの不一致のエラーが出ます。 – Babeeshka

+0

それは非常にきれいに見えませんが、私は以下の答えを使用しました - https://stackoverflow.com/questions/40427943/how-do-i-change-a-single-index-value-in-pandas-dataframe ..編集を参照してください...あなたは絶対に長さが一致することを望むでしょう。 –