Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将2个数组列表添加到具有两个独立列名的单个数据帧中_Python_Pandas - Fatal编程技术网

Python 如何将2个数组列表添加到具有两个独立列名的单个数据帧中

Python 如何将2个数组列表添加到具有两个独立列名的单个数据帧中,python,pandas,Python,Pandas,大家好,我有一个程序,需要两个数组“年数组”和“月数组”,并根据条件生成输出 我想将这两个数组都添加到一个数据框中,列名为year和name,这样将来我可以将该数据框与其他数据框一起添加 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

大家好,我有一个程序,需要两个数组“年数组”和“月数组”,并根据条件生成输出

我想将这两个数组都添加到一个数据框中,列名为year和name,这样将来我可以将该数据框与其他数据框一起添加

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_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
            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)
根据段,代码生成如下: 输出

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)
print(df)
我想将所有这些输出存储在一个数据帧中,为此我尝试了以下方法:

    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
            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)
如果我写入:那么它也只打印数组值,而不打印输出

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)
print(df)

**但这不起作用。在列名为“年”和“月”的数据框中打印数组时,我需要相同的输出**请告诉我如何操作。谢谢。

您可以创建具有预期输出的数组并从中创建数据框

编辑:将列名添加到dataframe

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

你能用Ctrl+k修改代码缩进吗?我做了,下一步是什么,先生?先生,请告诉我如何删除索引列和列名,如果可能的话,删除列名,以便索引参考