Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.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 向panda dataframe添加列_Python_Pandas - Fatal编程技术网

Python 向panda dataframe添加列

Python 向panda dataframe添加列,python,pandas,Python,Pandas,我花了几个小时试图找到一种方法来复制n次列,并将它们添加到一个Dataframe中,但运气不佳。请帮忙 当前数据帧: 0 0 2 1 4 2 5 3 6 4 9 0 1 2 ... 99 0 2 2 2 2 1 4 4 4 4 2 5 5 5 5 3 6 6 6 6 4 9 9 9 9 输出: 0 0 2 1 4 2 5 3 6 4 9 0 1

我花了几个小时试图找到一种方法来复制n次列,并将它们添加到一个
Dataframe
中,但运气不佳。请帮忙

当前数据帧:

    0
0   2
1   4
2   5
3   6
4   9
    0  1 2 ... 99
0   2  2 2     2
1   4  4 4     4 
2   5  5 5     5
3   6  6 6     6
4   9  9 9     9
输出:

    0
0   2
1   4
2   5
3   6
4   9
    0  1 2 ... 99
0   2  2 2     2
1   4  4 4     4 
2   5  5 5     5
3   6  6 6     6
4   9  9 9     9

可能有几种方法,一种方法是这样的:

df= pd.DataFrame()
    for i in range(5):
        for j in range(0,10):
            df.loc[i,j] = i+j
        
df
     0    1    2    3    4    5     6     7     8     9
0  0.0  1.0  2.0  3.0  4.0  5.0   6.0   7.0   8.0   9.0
1  1.0  2.0  3.0  4.0  5.0  6.0   7.0   8.0   9.0  10.0
2  2.0  3.0  4.0  5.0  6.0  7.0   8.0   9.0  10.0  11.0
3  3.0  4.0  5.0  6.0  7.0  8.0   9.0  10.0  11.0  12.0
4  4.0  5.0  6.0  7.0  8.0  9.0  10.0  11.0  12.0  13.0

可能有几种方法,一种方法是这样的:

df= pd.DataFrame()
    for i in range(5):
        for j in range(0,10):
            df.loc[i,j] = i+j
        
df
     0    1    2    3    4    5     6     7     8     9
0  0.0  1.0  2.0  3.0  4.0  5.0   6.0   7.0   8.0   9.0
1  1.0  2.0  3.0  4.0  5.0  6.0   7.0   8.0   9.0  10.0
2  2.0  3.0  4.0  5.0  6.0  7.0   8.0   9.0  10.0  11.0
3  3.0  4.0  5.0  6.0  7.0  8.0   9.0  10.0  11.0  12.0
4  4.0  5.0  6.0  7.0  8.0  9.0  10.0  11.0  12.0  13.0

正如@sammywemmy在评论中提到的,您可以使用:-

df=pd.concat([df]*100, axis = 'columns')
然后重命名列:-

df.columns=range(0,len(df.columns))

正如@sammywemmy在评论中提到的,您可以使用:-

df=pd.concat([df]*100, axis = 'columns')
然后重命名列:-

df.columns=range(0,len(df.columns))
.iloc
是另一个选项

>>> df.iloc[:, [0] * 10]
   0  0  0  0  0  0  0  0  0  0
0  2  2  2  2  2  2  2  2  2  2
1  4  4  4  4  4  4  4  4  4  4
2  5  5  5  5  5  5  5  5  5  5
3  6  6  6  6  6  6  6  6  6  6
4  9  9  9  9  9  9  9  9  9  9
.iloc
是另一个选项

>>> df.iloc[:, [0] * 10]
   0  0  0  0  0  0  0  0  0  0
0  2  2  2  2  2  2  2  2  2  2
1  4  4  4  4  4  4  4  4  4  4
2  5  5  5  5  5  5  5  5  5  5
3  6  6  6  6  6  6  6  6  6  6
4  9  9  9  9  9  9  9  9  9  9
pd.concat([df]*100,轴='columns')
可能吗?对于列名,您可以在连接后传递
pd.concat([df]*100,axis='columns')
?对于列名,可以在连接后传递
df.columns=np.arange(0,len(df))