【问题标题】:Appending integers from a list to each row to a new dataframe column将列表中的整数附加到每一行到一个新的数据框列
【发布时间】:2018-11-26 21:17:41
【问题描述】:

我有一个整数列表 x,我正在尝试为现有数据框创建一个新列,其中每个 x[0] ... x[1345] 都在适当的位置。

这就是我所做的:

i = 0
while i < len(x):
    df['Paystrings'] = x[i]
    i = i + 1
df.head()

但我只得到这个:

这是x的最后一个元素

【问题讨论】:

  • 您在每次迭代中覆盖df['Paystrings']。你想要的输出是什么?是否要创建 1346 个列?
  • 这是因为您正在重新定义值为x[i] 的列。所以在循环结束时,整列都是x[-1]
  • 是的,因为 df['Paystrings'] = x[i] 将整列设置为值 x[i]
  • @pault 我想创建一个名为 Paystring 的新列,然后对于该线圈中的每一行,将 x[0] 放在第一行 x[1] 中的第二行等...感觉?'
  • 我可能会将x 包裹在Series 中以插入数据框

标签: python pandas dataframe


【解决方案1】:

如果您在创建时没有设置索引表达式,您可以这样做:

df['Paystrings'] = pd.Series(x)

否则,您可以重置索引,然后所有元素都具有此时已排序的数字。

df.reset_index()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 2019-10-27
    • 1970-01-01
    • 2020-10-27
    • 2021-02-06
    • 1970-01-01
    • 2018-07-15
    相关资源
    最近更新 更多