【问题标题】:deep copying the pandas dataframe into a list (including index)将熊猫数据框深度复制到列表中(包括索引)
【发布时间】:2018-10-30 03:02:31
【问题描述】:

我有一个熊猫数据框 df

    column1
2     1
3     2
8     3
10    4
45    5

我想将 pandas 数据框的这个 column1 转换为列表 x ,并且我也希望索引也是列表的索引

如果我调用 x[2]

它应该返回 1

我试过了

x = df['column1'].values

但列表索引已重置。

我正在寻找答案,感谢您的时间和精力来帮助我。

【问题讨论】:

  • 列表的索引?你的意思是?除了位置之外,您不能索引 Python 列表。

标签: python list pandas indexing


【解决方案1】:

Python 列表有连续索引,索引范围内不能有空洞。

实现目标的唯一方法是在原始系列中为每个洞填充nan,制作一个连续的索引:

In [29]: df.column1.reindex(np.arange(df.index.max()+1)).tolist()
Out[29]: 
[nan,
 nan,
 1.0,
 2.0,
 nan,
 nan,
 nan,
 nan,
 3.0,
 nan,
 4.0,
 nan,
 nan,
 nan,
 nan,
 nan,
 ....

如果您可以使用dict,那么以下方法更可取:

In [35]: df.column1.to_dict()
Out[35]: {2: 1, 3: 2, 8: 3, 10: 4, 45: 5}

【讨论】:

  • 我想使用该列表来构建模型,并且我必须根据索引对训练和测试数据进行分区,因为它在业务环境中非常重要。请有任何建议
猜你喜欢
  • 2013-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-02
  • 1970-01-01
  • 2022-07-10
  • 1970-01-01
相关资源
最近更新 更多