[英]Is it possibe to change similar libraries (Data Analysis) in Python within the same code?
我使用modin庫進行多處理。 雖然該庫非常適合更快的處理,但它在merge
時失敗,我想在代碼之間恢復為默認的 pandas。
我理解根據 PEP 8:E402 約定,導入應該在代碼頂部聲明一次,但是我的情況需要另外聲明。
import pandas as pd
import modin.pandas as mpd
import os
import ray
ray.init()
os.environ["MODIN_ENGINE"] = "ray"
df = mpd.read_csv()
do stuff
然后我想在相同的代碼中恢復到默認的 pandas 但是我將如何在pandas
中執行以下操作,因為在下面的行中似乎沒有一個明確的方法可以從pd
和mpd
切換,不幸的是 modin 似乎優先熊貓。
df = df.loc[:, df.columns.intersection(['col1', 'col2'])]
df = df.drop_duplicates()
df = df.sort_values(['col1', 'col2'], ascending=[True, True])
可能嗎? 如果是,如何?
您可以簡單地執行以下操作:
import modin.pandas as mpd
import pandas as pd
這樣,您就可以在內存中同時擁有 modin 和原始 pandas,並且可以根據需要有效地切換。
由於許多人已經發布了答案,但是在這種特殊情況下,@Nin17 和 Modin GitHub 的評論指出,從 Modin 轉換為 Pandas 以對一些操作(如df.merge
)進行單核處理,您可以使用
import pandas as pd
import modin.pandas as mpd
import os
import ray
ray.init()
os.environ["MODIN_ENGINE"] = "ray"
df_modin = mpd.read_csv() #reading dataframe into Modin for parallel processing
df_pandas = df_modin._to_pandas() #converting Modin Dataframe into pandas for single core processing
如果您想將數據幀重新轉換為 modin 數據幀以進行並行處理
df_modin = mpd.DataFrame(df_pandas)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.