как добавить 2 списка массивов в один пандас с двумя отдельными именами столбцов - PullRequest
0 голосов
/ 28 ноября 2018

Привет, ребята. У меня есть программа, которая принимает два массива "Year_Array" и "Month_Array" и генерирует выходные данные в соответствии с условиями.

Я хочу добавить, что оба массива в одном кадре данных с именем столбца год и имя, поэтому в будущем я могу добавить этот массив данных с другим кадром данных.

Ниже приведен пример кода:

    Year_Array=[2010,2011,2012,2013,2014]
    Month_Array=['Jan','Feb','Mar','April','May','June','July','Aug','Sep','Oct','Nov','Dec']
    segment=[1, 1, 3, 5, 2, 1, 1, 1, 2, 1, 6, 1]
    p=0
    for p in range(0, len(Year_Array), 1):
        c=0
        for i in range(0, len(segment),1):
            h = segment[i]

            for j in range(0,int(h) , 1):         
                print((Year_Array[p]) ,(Month_Array[c]))

            c += 1

На основе сегмента код генерируется так: output

2010 Jan
2010 Feb
2010 Mar
2010 Mar
2010 Mar
2010 April
2010 April
2010 April
2010 April
2010 April
2010 May
2010 May
2010 June
2010 July
2010 Aug
2010 Sep
2010 Sep
2010 Oct
2010 Nov
2010 Nov
2010 Nov
2010 Nov
2010 Nov
2010 Nov
2010 Dec

2011 Jan
2011 Feb
2011 Mar
2011 Mar
2011 Mar
2011 April
......
......

2012 Jan
2012 Feb
2012 Mar
2012 Mar
2012 Mar
2012 April
......
......so on till 2014

все эти выходные данные, которые я хочу сохранитьв одном кадре данных для этого я пытался следующим образом:

            df=pd.DataFrame(Year_Array[p])
            print(df)
            df.columns = ['year']
            print("df-",df)
            df1=pd.DataFrame(Month_Array[c])
            df1.columns = ['month']
            print(df1)

если я пишу: то это также печатает только значения массива, а не выходные данные

df=pd.DataFrame(Year_Array)
print(df)

** но это не работает, я хочу получить тот же вывод при печати массива в кадре данных с именами столбцов "year" и "month" **, пожалуйста, скажите мне, как это сделать .. спасибо

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете создать массив с ожидаемым выводом и создать из него фрейм данных.

Редактировать: добавить имя столбца в фрейм данных.

Year_Array=[2010,2011,2012,2013,2014]
Month_Array=['Jan','Feb','Mar','April','May','June','July','Aug','Sep','Oct','Nov','Dec']
final_Array=[]
segment=[1, 1, 3, 5, 2, 1, 1, 1, 2, 1, 6, 1]
p=0
for p in range(0, len(Year_Array), 1):
    c=0
    for i in range(0, len(segment),1):
        h = segment[i]
#             print(h)

        for j in range(0,int(h) , 1):         
            final_Array.append(((Year_Array[p], Month_Array[c])))

        c += 1
data = pd.DataFrame(final_Array,columns=['year','month'])
data.head()

Вывод:

  year month
0 2010 Jan
1 2010 Feb
2 2010 Mar
3 2010 Mar
4 2010 Mar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...