Как импортировать европейские форматированные временные ряды (разделитель тысяч) в python или r - PullRequest
0 голосов
/ 08 июня 2019

Я сталкиваюсь с некоторыми проблемами при импорте биржевых данных из csv-файла европейского формата, который выглядит следующим образом:

Date ;Stock1;Stock2
03.05.2019 ;1.581,70;20,76
30.04.2019 ;1.588,46;20,72

В настоящее время я использую команду pandas read_csv. Это прекрасно работает для второй акции, и с быстрым обходным путем, нет проблем с получением правильного индекса времени.

Однако, разделитель тысяч от stock1 вызывает у меня головную боль. Когда он импортируется, python рассматривает его как строку, а не как число с плавающей точкой из-за "." , Испытание аргумента разделителя «тысячи» уничтожает мою метку времени.

Версия скрипта, которая пока не уничтожает отметку времени:

# Importing the data with a "," as decimal separator 
stock_data = pd.read_csv("stock_data.csv", sep = ";", decimal = ",")

# Time indexing
df['Date'] = df['Date'].apply(pd.to_datetime)
df.set_index(df["Date"], inplace = True)

Поскольку я действительно застрял, мне понадобится некоторая помощь в поиске способа прямого импорта такой даты, сохраняя индекс в целости и сохранении остальных в виде чисел с плавающей запятой. Или как почистить csv-файлы перед их импортом.

Большое спасибо за вашу помощь:)

1 Ответ

1 голос
/ 08 июня 2019

Попробуйте это

library(readr)
stock_data <- read_csv("stock_data.csv", 
    locale = locale(decimal_mark = ",", grouping_mark = "."))
View(house_pricing_test)
...