gpt4 book ai didi

python - 如何为 dask.dataframe 指定元数据

转载 作者:太空狗 更新时间:2023-10-29 17:19:27 24 4
gpt4 key购买 nike

文档提供了很好的示例,how metadata can be provided .但是,在为我的数据框选择正确的数据类型时,我仍然不确定。

  • 我可以做类似meta={'x': int 'y': float,
    'z': float}
    而不是 meta={'x': 'i8', 'y': 'f8', 'z': 'f8'}?
  • 有人可以提示我列出可能的值,例如“i8”吗?什么dtype 存在吗?
  • 如何指定包含任意对象的列?如何指定一个仅包含一个类实例的列?

最佳答案

可用的基本数据类型是通过 numpy 提供的。看看 documentation获取列表。

此集合中不包括日期时间格式(例如 datetime64),有关更多信息,请参阅 pandasnumpy文档。

dask 数据框的元参数通常需要一个空的 pandas 数据框,其中包含列、索引和数据类型的定义。

构建此类 DataFrame 的一种方法是:

import pandas as pd
import numpy as np
meta = pd.DataFrame(columns=['a', 'b', 'c'])
meta.a = meta.a.astype(np.int64)
meta.b = meta.b.astype(np.datetime64)

还有一种方法可以为 pandas 数据框的构造函数提供 dtype,但是,我不确定如何为每个单独的列提供它们。如您所见,不仅可以提供数据类型的“名称”,还可以提供实际的 numpy dtype。

关于你的最后一个问题,你正在寻找的数据类型是“对象”。例如:

import pandas as pd

class Foo:
def __init__(self, foo):
self.bar = foo

df = pd.DataFrame(data=[Foo(1), Foo(2)], columns=['a'], dtype='object')
df.a
# 0 <__main__.Foo object at 0x00000000058AC550>
# 1 <__main__.Foo object at 0x00000000058AC358>

关于python - 如何为 dask.dataframe 指定元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39265396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com