【问题标题】:Can a numpy array be a element in a pandas dataframe?一个 numpy 数组可以是 pandas 数据框中的一个元素吗?
【发布时间】:2020-10-07 23:50:35
【问题描述】:

是否可能存在数据框,其中(例如)有一个名为“数据”的列,并且该列中的每个元素都是一个 numpy 数组?

| Data              | Time          |
| [1, 2, 3, ... 10] | June 12, 2020 |
| [11, 12, ..., 20] | June 13, 2020 |

If so, how do you create a dataframe in this format? 

【问题讨论】:

  • 是的,但是像保存和读取这样的操作比较麻烦。
  • 您可以创建一个存储任意 Python 对象的列,并且 numpy 数组是 Python 对象。但是有效地处理列中的数据(比 Python for 循环更好)将是一个问题。

标签: python arrays pandas numpy


【解决方案1】:

不确定你想这样做,但它有效。

import pandas as pd
import numpy as np
df = pd.DataFrame({'Data': [np.array([1, 2, 3, 10]), np.array([11,12,13,20])], 'Time' : ['June 12, 2020', 'June 13, 2020']})
print (df)

输出:

               Data           Time
0     [1, 2, 3, 10]  June 12, 2020
1  [11, 12, 13, 20]  June 13, 2020

你也可以用列表来做:

df = pd.DataFrame({'Data': [[1, 2, 3, 10], [11,12,13,20]], 'Time' : ['June 12, 2020', 'June 13, 2020']})

【讨论】:

    【解决方案2】:

    是的,你可以,关注this question。当您按日期、索引等分组数据时,它很有用。因为您压缩了一些行,但就熊猫操作而言,它可能效率不高。也许你会更喜欢使用groupby() 方法然后应用操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-05
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-18
      • 1970-01-01
      相关资源
      最近更新 更多