如何将数据框变成一系列列表?

布赖恩

我不得不这样做几次,我总是很沮丧。我有一个数据框:

df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7, 8]], ['a', 'b'], ['A', 'B', 'C', 'D'])

print df

   A  B  C  D
a  1  2  3  4
b  5  6  7  8

我想df变成:

pd.Series([[1, 2, 3, 4], [5, 6, 7, 8]], ['a', 'b'])

a    [1, 2, 3, 4]
b    [5, 6, 7, 8]
dtype: object

我试过了

df.apply(list, axis=1)

只是让我回到原来的状态 df

有什么便捷/有效的方法可以做到这一点?

耶斯列尔

您可以先转换DataFramenumpy arrayby values,然后转换为list,最后在需要更快的解决方案时Series使用index创建新的df

print (pd.Series(df.values.tolist(), index=df.index))
a    [1, 2, 3, 4]
b    [5, 6, 7, 8]
dtype: object

使用小型DataFrame的时间:

In [76]: %timeit (pd.Series(df.values.tolist(), index=df.index))
1000 loops, best of 3: 295 µs per loop

In [77]: %timeit pd.Series(df.T.to_dict('list'))
1000 loops, best of 3: 685 µs per loop

In [78]: %timeit df.T.apply(tuple).apply(list)
1000 loops, best of 3: 958 µs per loop

并带有:

from string import ascii_letters
letters = list(ascii_letters)
df = pd.DataFrame(np.random.choice(range(10), (52 ** 2, 52)),
                  pd.MultiIndex.from_product([letters, letters]),
                  letters)

In [71]: %timeit (pd.Series(df.values.tolist(), index=df.index))
100 loops, best of 3: 2.06 ms per loop

In [72]: %timeit pd.Series(df.T.to_dict('list'))
1 loop, best of 3: 203 ms per loop

In [73]: %timeit df.T.apply(tuple).apply(list)
1 loop, best of 3: 506 ms per loop

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将一系列较小的尺寸连接到熊猫数据框的底部

来自分类Dev

如何将一系列 str 列表与一系列 str 连接起来

来自分类Dev

如何将一系列的(例如)熊猫groupby.apply(f)的结果放入数据框的新列中?

来自分类Dev

如何将一系列数值数据转换为特定的分类数据?

来自分类Dev

如何将一系列嵌套列表转换为Miller Columns?

来自分类Dev

如何将列表中的标题添加到一系列直方图?

来自分类Dev

如何将列表中的标题添加到一系列直方图?

来自分类Dev

如何将字典对象解包到一系列数据帧

来自分类Dev

如何将一系列文本文件导入数据框,而每个文件作为输入,而不用分隔符分隔?

来自分类Dev

如何将一系列参数应用于 MATLAB 中的一系列函数?

来自分类Dev

如何从熊猫中的一系列数据框中删除空数据框?

来自分类Dev

数据框将一些列乘以一系列

来自分类Dev

将多个数据框列转换为一系列

来自分类Dev

来自一系列数据框的Pandas multiindex

来自分类Dev

Dask串联一系列数据框

来自分类Dev

pd.melt()字典/一系列数据框

来自分类Dev

如何将Django的APIRequestFactory与一系列对象一起使用?

来自分类Dev

如何将OFFSET()公式与一系列值一起使用?

来自分类Dev

如何将Django的APIRequestFactory与一系列对象一起使用?

来自分类Dev

如何将一系列 For 循环块缩短为一个

来自分类Dev

如何将一系列日期更改为一个日期 R?

来自分类Dev

如何将一个数组中的一系列值除以另一个数组中的一系列值

来自分类Dev

将数据验证(下拉)列表添加到一系列单元格?

来自分类Dev

如何在可以设置顺序的一系列数据框的特定列上迭代函数?

来自分类Dev

从python列表中提取一系列数据

来自分类Dev

从python列表中提取一系列数据

来自分类Dev

如何将一系列条件映射为字典中的键?

来自分类Dev

如何将一系列索引/类别转换为分类数组

来自分类Dev

如何将一系列数组转换为2D numpy数组

Related 相关文章

  1. 1

    如何将一系列较小的尺寸连接到熊猫数据框的底部

  2. 2

    如何将一系列 str 列表与一系列 str 连接起来

  3. 3

    如何将一系列的(例如)熊猫groupby.apply(f)的结果放入数据框的新列中?

  4. 4

    如何将一系列数值数据转换为特定的分类数据?

  5. 5

    如何将一系列嵌套列表转换为Miller Columns?

  6. 6

    如何将列表中的标题添加到一系列直方图?

  7. 7

    如何将列表中的标题添加到一系列直方图?

  8. 8

    如何将字典对象解包到一系列数据帧

  9. 9

    如何将一系列文本文件导入数据框,而每个文件作为输入,而不用分隔符分隔?

  10. 10

    如何将一系列参数应用于 MATLAB 中的一系列函数?

  11. 11

    如何从熊猫中的一系列数据框中删除空数据框?

  12. 12

    数据框将一些列乘以一系列

  13. 13

    将多个数据框列转换为一系列

  14. 14

    来自一系列数据框的Pandas multiindex

  15. 15

    Dask串联一系列数据框

  16. 16

    pd.melt()字典/一系列数据框

  17. 17

    如何将Django的APIRequestFactory与一系列对象一起使用?

  18. 18

    如何将OFFSET()公式与一系列值一起使用?

  19. 19

    如何将Django的APIRequestFactory与一系列对象一起使用?

  20. 20

    如何将一系列 For 循环块缩短为一个

  21. 21

    如何将一系列日期更改为一个日期 R?

  22. 22

    如何将一个数组中的一系列值除以另一个数组中的一系列值

  23. 23

    将数据验证(下拉)列表添加到一系列单元格?

  24. 24

    如何在可以设置顺序的一系列数据框的特定列上迭代函数?

  25. 25

    从python列表中提取一系列数据

  26. 26

    从python列表中提取一系列数据

  27. 27

    如何将一系列条件映射为字典中的键?

  28. 28

    如何将一系列索引/类别转换为分类数组

  29. 29

    如何将一系列数组转换为2D numpy数组

热门标签

归档