向熊猫数据框添加一列

Posted

技术标签:

【中文标题】向熊猫数据框添加一列【英文标题】:Adding a column to panda dataframe 【发布时间】:2021-06-11 17:25:19 【问题描述】:

我已经尝试了几个小时来找到一种方法来复制列 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

【问题讨论】:

pd.concat([df]*100, axis = 'columns') 可能吗?对于列名,您可以在连接后传递df.columns = np.arange(0, len(df)) 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

df=pd.concat([df]*100, axis = 'columns')

之后重命名列:-

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

【讨论】:

【参考方案3】:
>>> df
   0
0  2
1  4
2  5
3  6
4  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

【讨论】:

以上是关于向熊猫数据框添加一列的主要内容,如果未能解决你的问题,请参考以下文章

如何通过对现有列执行一些转换来使用 withcolumn 添加列?

添加一列,这是熊猫中连续行差异的结果

向单级熊猫数据框添加多级列

如何在特定小时的滚动平均值的熊猫数据框中添加一列

R - 为啥向数据表添加 1 列几乎会使使用的峰值内存增加一倍?

如何使用熊猫从一个文件向另一文件添加列