Мой код захватывает несколько файлов csv из каталога и помещает все данные в созданный мной DataFrame и называется «df». Каждый CSV имеет тот же формат, но может быть разной длины, поэтому это то, что я хочу сделать:python, pandas и импортирование нескольких csv в dataframe
Я хочу иметь столбец в моем df (DataFrame), который записывает второй и последний кусочки данных в каждом csv Я тяну, прежде чем он переместится на следующий. Я изменил приведенный ниже результат, чтобы дать вам пример того, что я имею в виду. Предположим, что я называю этот столбец BeforeLast. Когда вы видите значение 0, это означает, что он не второй для последнего фрагмента данных в csv, который я вытащил, если вы видите значение 1, это означает, что он второй, чтобы последний кусок данных в CSV я вытащил.
Как я могу это сделать, поскольку Python втягивает каждый вызов csv?
import pandas as pd
import glob
import os
path =r'X:\PublicFiles\TradingData\CSV\RealMarkets\Weekly\Futures\Contracts\Corn C'
allFiles = glob.glob(path + "/*.csv") ##'*' means any file name can be grabbed
df = pd.DataFrame()
list_ = []
for file_ in allFiles:
names = ['Date', 'Open', 'High', 'Low', 'Close', 'Vol', 'OI']
df = pd.read_csv(file_, index_col = None, names = names)
list_.append(df)
frame = pd.concat(list_)
Вот пример из моей текущей dataFrame (ДФ)
Date Open High Low Close Vol OI
0 20141212 427.00 427.00 427.00 427.00 0 0
1 20141219 429.00 429.00 424.00 424.00 0 0
2 20141226 424.00 425.00 423.00 425.00 0 0
3 20150102 422.75 422.75 417.50 417.50 0 0
Это то, что я хочу
Date Open High Low Close Vol OI BeforeLast
0 20141212 427.00 427.00 427.00 427.00 0 0 0
1 20141219 429.00 429.00 424.00 424.00 0 0 0
2 20141226 424.00 425.00 423.00 425.00 0 0 1
3 20150102 422.75 422.75 417.50 417.50 0 0 0 (this is the last piece of data in this csv and now it moves on to the next)
4 20141226 424.00 425.00 423.00 425.00 0 0 0
5 20150102 422.75 422.75 417.50 417.50 0 0 0
6 20141226 424.00 425.00 423.00 425.00 0 0 1
7 20150102 422.75 422.75 417.50 417.50 0 0 0
эй, это сработало отлично! Одна вещь, которую я заметил, заключалась в том, что мои столбцы перегруппировались в некоторые по-разному, любой быстрый способ вернуть их так же, как и мои [имена] заказаны? –
try: df = df [names] – user3602063
отлично поработал! –