0
日付列を解析してその列をインデックスとして設定しようとすると、奇妙な動作が起こります。パンダの日付を解析して奇妙な振る舞いを設定する
csvファイル今
"","X.m..d..y","fizzBuzz"
"1","2/2/1984",0.02523659
"2","2/3/1984",-0.03692308
"3","2/6/1984",-0.01597444
"4","2/7/1984",-0.006493506
"5","2/8/1984",-0.0130719
を、私がすることができます(私はそれらを使用したくないわけ使い捨てによる)使い捨てのヘッダーと以下のようなスローアウェイインデックス列の両方を持っています簡単にDFを読み、次のスニペット
完全に望ましい結果 value
date
1984-02-02 0.025237
1984-02-03 -0.036923
1984-02-06 -0.015974
1984-02-07 -0.006494
1984-02-08 -0.013072
を出力
import pandas as pd
df = pd.read_csv('stackOverflow.csv',header=0,
names=['_throAwayindex','date','value'], usecols=['date','value'],
parse_dates=['date'])
df = df.set_index('date')
df
とその後のインデックスを設定します
しかし、read_csv
コールでインデックスを設定しようとすると、私は奇妙な結果を得ます。このミスの名前欄
df = pd.read_csv('stackOverflow.csv',header=0,
names=['_throAwayindex','date','value'], usecols=['date','value'],
parse_dates=['date'], index_col=0)
df
value
_throAwayindex
2/2/1984 0.025237
2/3/1984 -0.036923
2/6/1984 -0.015974
2/7/1984 -0.006494
2/8/1984 -0.013072
そして、これは間違っているすべてのものを行います。
df = pd.read_csv('stackOverflow.csv',header=0,
names=['_throAwayindex','date','value'], usecols=['date','value'],
parse_dates=['date'], index_col=1)
df
date
date
0.025237 2/2/1984
-0.036923 2/3/1984
-0.015974 2/6/1984
-0.006494 2/7/1984
-0.013072 2/8/1984
を私は何が起こっているかではともせずにただread_csv
コールで所望の結果を達成することができる方法の両方興味2番目の呼び出しはです。
'index_col = 0'の戦略は私にとっては役に立ちます(Python 3.5.1、pandas 0.18.1)。 0.18.1で修正された 'parse_dates'と' usecols'の両方を使ったときに出現したバグがありました(https://github.com/pydata/pandas/commit/c6c201e27c7ed57a823ec726740dfeec1e0226a)古いバージョンを実行している可能性があります? –
それです。アップグレードされ、正常に動作します。 Gracias。あなたが答えを投稿したら私はそれを閉鎖してマークすることができます –