Saya perlu mengulangi nilai unik dari kerangka data dask. Saya menggunakan .unique() untuk mendapatkan nilai unik dari kolom tetapi sekarang saya diberikan objek dask yang tidak dapat saya gunakan untuk beralih. Saya perlu tahu cara mengeluarkan nilai-nilai unik ini dari objek dask ini ke dalam daftar (atau yang serupa) sehingga saya dapat menggunakan nilai-nilai itu untuk beralih melalui kerangka data dask.
df = dd.read_csv('file.csv')
df.column1.unique()
for unique_value in column1_array:
print(unique_value)
Ini adalah kesalahan yang saya dapatkan: NotImplementedError: Seri getitem hanya didukung untuk objek seri lain dengan struktur partisi yang cocok
2 jawaban
Masalah ini telah diselesaikan di dask=2.3.
In [1]: import pandas as pd
...: import dask.dataframe as dd
...: import dask
In [2]: dask.__version__
Out[2]: '2.3.0'
In [3]: df = pd.DataFrame({"temp1":[1,2,2,4],"temp2":[1,2,2,4]})
...: ddf = dd.from_pandas(df,npartitions=2)
...: for unique_value in ddf.temp1.unique():
...: print(unique_value)
...:
1
2
4
Anda dapat menggunakan metode .compute()
untuk mengonversi Seri Dask Anda menjadi objek Seri Pandas dan kemudian mengulanginya.
for x in s.compute():
...
Lihat https://docs .dask.org/en/latest/dataframe-best-practices.html#reduce-and-then-use-pandas
Ada juga metode iteritems
dan iterrows