#python #pandas
#python #pandas
Вопрос:
Я использую pandas для получения данных Excel со всеми историческими данными из биткойнов. хотя этот csv слишком большой, поэтому мне нужно получить лист только в определенных данных.
from datetime import datetime
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')
DT_FILE_PATH = 'bitstamp.csv'
DATA_INICIO = '2000-10-10'
DATA_FIM = '2010-10-10'
def getDataSetFile(file_path):
dt_bitstamp = pd.read_csv(file_path)
print(dt_bitstamp.head())
dt_bitstamp = pd.DataFrame(dt_bitstamp, index=pd.date_range(DATA_INICIO, DATA_FIM).values)
print(dt_bitstamp.head()) #returning just the data in the defined time
return dt_bitstamp
при необходимости ссылка для загрузки csv находится здесь >> https://www.kaggle.com/mczielinski/bitcoin-historical-data/data#coinbaseUSD_1 —
min_data_2014-12-01_to_2019-01-09.csv
Я новичок в pandas, поэтому я потерялся.Цель состоит в том, чтобы рассчитать технические индикаторы с данными в формате csv
Ответ №1:
Вы можете разделить csv на правила, используя фрагменты некоторого удобного размера при чтении csv, а затем объединить их.
def getDataSetFile(file_path):
dt_bitstamp = pd.read_csv(file_path, iterator=True, chunksize=10000)
print(dt_bitstamp.head())
dt_bitstamp = pd.concat(dt_bitstamp, ignore_index=True)
dt_bitstamp = pd.DataFrame(dt_bitstamp, index=pd.date_range(DATA_INICIO, DATA_FIM).values)
print(dt_bitstamp.head()) #returning just the data in the defined time
return dt_bitstamp