добавление данных в существующий пустой фрейм данных, содержащий только имена столбцов - PullRequest
1 голос
/ 13 октября 2019

как добавить данные в существующий пустой столбец в фрейме данных?

У меня есть пустой фрейм данных с именами столбцов (биржевые сводки)

enter image description here

Я пытаюсь добавить данные к каждой акции, по сути, заполняю столбец данных столбцом слева направо на основе имени заголовка.

Я извлекаю данные из другого файла CSVкоторый выглядит следующим образом (имя файла CSV = имя столбца в кадре данных, который я пытаюсь заполнить):

enter image description here

PS может возникнуть дополнительная проблема из-за длиныданных, доступных для каждой акции, например. У меня может быть список из 10 значений для первого запаса, 0 для второго и 25 для третьего. Я планирую сохранить это в CSV, так что, возможно, это не может вызвать слишком большую проблему.

enter image description here

Я попробовал следующую идею, но без удачи. любые предложения приветствуются.

import pandas as pd
import os


path = 'F:/pathToFiles'

Russell3k_Divs = 'Russel3000-Divs/'
Russell3k_Tickers =  'Russell-3000-Stock-Tickers-List.csv'

df_tickers =  pd.read_csv(path + Russell3k_Tickers)

divFls = os.listdir(path + Russell3k_Divs)

for i in divFls:
    df = pd.read_csv(path + Russell3k_Divs + i)
    Div = df['Dividends']
    i = i[0].split('.')

    df_tickers[i] = df_tickers.append(Div)
    print(df_tickers)
    break

РЕДАКТИРОВАТЬ: РЕШЕНИЕ

import pandas as pd
import os
from tqdm import tqdm


path = 'F:/pathToFiles'

Russell3k_Divs = 'Russel3000-Divs/'
Russell3k_Tickers =  'Russell-3000-Stock-Tickers-List.csv'

df_tickers = pd.DataFrame()

divFls = os.listdir(path + Russell3k_Divs)

for i in tqdm(divFls):
    df = pd.read_csv(path + Russell3k_Divs + i)

    i = i.split('.')[0]

    df[str(i)] = df['Date']

    df_tickers = df_tickers.join(df[str(i)], how='outer')


df_tickers.to_csv('Russell-3000-Stock-Tickers-List1.csv', encoding='utf-8', index=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...