gpt4 book ai didi

python - 如何在 dask 中找到数据帧的长度?

转载 作者:行者123 更新时间:2023-12-04 23:37:04 25 4
gpt4 key购买 nike

如何使用 dask 找到数据帧的长度?

例如在 Pandas 中,我可以这样做:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.normal(0, 1, (5, 2)), columns=["A", "B"])
print df['A'].count()
print df

输出:
5
A B
0 1.538531 0.424717
1 -0.929843 1.323648
2 -1.283680 0.056199
3 -0.641035 -1.998241
4 -0.058598 -1.400637

在 dask 我尝试:
import dask.dataframe as dd
df_dask = dd.from_pandas(df, npartitions=3)
print df_dask
print df_dask['A'].count()

输出:
                     A        B
npartitions=2
0 float64 float64
2 ... ...
4 ... ...
Dask Name: from_pandas, 2 tasks

dd.Scalar<series-..., dtype=int32>

我需要长度的真正原因是因为 df_dask.sample() 需要一个分数,我想从数据帧中采样指定数量的条目。我使用长度来计算这个分数。有没有更简单/更快的方法来做到这一点?

最佳答案

您可以使用 len长度为 dask DataFrame columnindex :

print (len(df_dask['A']))
5

print (len(df_dask.index))
5

如果需要计算所有非 NaN,您的解决方案会更好s 值 - 添加 compute :
df = pd.DataFrame(np.random.normal(0, 1, (5, 2)), columns=["A", "B"])
df.loc[0, 'A'] = np.nan
print (df)
A B
0 NaN -1.727669
1 -0.390900 0.573806
2 0.338589 -0.011830
3 2.392365 0.412912
4 0.978736 2.238143

import dask.dataframe as dd
df_dask = dd.from_pandas(df, npartitions=3)

print (df_dask['A'].count().compute())
4

关于python - 如何在 dask 中找到数据帧的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50569171/

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