Я испытываю некоторое нечетное поведение, когда пытаюсь разобрать столбец даты и установить этот столбец как индекс при чтении из CSV с помощью pandas.Pandas parse date and set index- weird behavior
Файл 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
Теперь я могу легко прочитать ФР, а затем установить индекс затем со следующим фрагментом
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
, который отлично выводит желаемому результату
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
Но когда я пытаюсь установить индекс в вызове 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
вызова без второй звонок - set_index
.
Стратегия с 'index_col = 0' работает для меня (Python 3.5.1, pandas 0.18.1). Появилась ошибка, возникавшая при использовании как 'parse_dates', так и' usecols', которая была исправлена в 0.18.1 (https://github.com/pydata/pandas/commit/c6c201e27c7ed57a823ec7261340dfeec1e0226a) Возможно, у вас установлена более старая версия ? –
это. обновлен и работает отлично. Gracias. Если вы опубликуете ответ, я могу отметить его закрытым –