【发布时间】:2015-09-02 13:35:34
【问题描述】:
我正在尝试将 x 个空白列添加到数据框中。
这是我的功能:
def fill_with_bars(df, number=10):
'''
Add blank, empty columns to dataframe, at position 0
'''
numofcols = len(df.columns)
while numofcols < number:
whitespace = ''
df.insert(0, whitespace, whitespace, allow_duplicates=True)
whitespace += whitespace
return df
但我收到此错误
ValueError: Wrong number of items passed 2, placement implies 1
我不确定自己做错了什么?
【问题讨论】:
-
这似乎很浪费,为什么不直接用正确数量的附加列构造一个df,然后
concat? -
我认为问题在于在第三次迭代中代码 barfs 因为虽然您允许重复,但您现在有 2 个带有空字符串的列作为列名,但这会导致内部检查失败,因为它期望一个唯一的要追加的列,但现在找到 2,如果您的列名是唯一的,那么这将起作用,但同样,为什么不构造一个具有正确尺寸的 df 并连接一次
-
@EdChum - 这就是为什么我为每个列名添加一个额外的空格,以便它认为它是独一无二的。
-
由于我的工作流程,我无法构建具有正确尺寸的 df。
-
还有其他方法可以将空列添加到现有的 df 吗?
标签: python pandas insert dataframe col