Добавить новые столбцы и новые имена столбцов в python - PullRequest
0 голосов
/ 24 января 2020

У меня есть файл CSV в следующем формате:

Дата, время, открытие, максимум, минимум, закрытие, громкость

09/22/2003,00: 00 , 1024.5,1025.25,1015.75,1022.0,720382.0

09/23 / 2003,00: 00,1022.0,1035.5,1019.25,1022.0,22441.0

10/22 / 2003,00: 00 ; *

Было бы что-то вроде этого:

import pandas as pd

df = pd.read_csv('dataset.csv')

print(len(df))
input()

for i in range(len(df)):

    #Data that already exist

    date = df.values[i][0]
    time = df.values[i][1]
    open_value= df.values[i][2]
    high_value=df.values[i][3]
    low_value=df.values[i][4]
    close_value=df.values[i][5]
    volume=df.values[i][6]

    #This is the new data
    prediction_1=randrange(3)
    prediction_2=randrange(3)
    prediction_3=randrange(3)
    prediction_4=randrange(3)
    prediction_5=randrange(3)
    prediction_6=randrange(3)
    prediction_7=randrange(3)
    prediction_8=randrange(3)
    prediction_9=randrange(3)
    prediction_10=randrange(3)
    prediction_11=randrange(3)
    prediction_12=randrange(3)
    prediction_13=randrange(3)
    prediction_14=randrange(3)
    prediction_15=randrange(3)
    prediction_16=randrange(3)
    prediction_17=randrange(3)
    prediction_18=randrange(3)
    prediction_19=randrange(3)
    prediction_20=randrange(3)

    #How to concatenate these data row by row in a matrix?
    #How to add new column names and save the file?

Я хотел бы объединить их (old + syntheti c data), и после этого я хотел бы добавить 20 новых столбцов с именем ' синтетический1 ',' синтетический2 ', ...,' синтетический20 ', в существующие имена столбцов и затем сохраните полученный новый набор данных в новый текстовый файл.

Я мог бы сделать это легко с NumPy, но здесь у нас нет числовых данных c и, следовательно, я не знаю, как это сделать (или, если возможно, это сделать). Возможно ли это сделать с помощью Pandas или другой библиотеки?

1 Ответ

1 голос
/ 24 января 2020

Вот способ, которым вы можете сделать:

import numpy as np

# set nrow and col, nrow should match the number of rows in existing df
n_row = 100
n_col = 20
f = pd.DataFrame(np.random.randint(100, size=(n_row, n_col)), columns=['synthetic' + str(x) for x in range(1,n_col+1)])

df = pd.concat([df, f])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...