跳轉到主要內容
Beplay体育安卓版本平台的博客

考拉:簡單從熊貓過渡到Apache的火花

分享這篇文章

今天在火花+人工智能峰會上,我們宣布了考拉,一個新的開源項目,增強PySpark DataFrame API兼容熊貓。

Python數據科學已經在過去的幾年裏和熊貓爆炸已成為關鍵的生態係統。當數據科學家染指一個數據集,他們用熊貓去探索。這是最終的數據爭吵和分析的工具。事實上,大熊貓read_csv通常是第一個命令學生運行在他們的數據科學的旅程。

這個問題?熊貓不能很好地擴展到大數據。專為較小的數據集,一個機器可以處理。另一方麵,Apache火花已成為事實上的標準大數據的工作量。今天許多數據科學家使用熊貓課程、寵物項目,和小的數據任務,但當他們處理非常大的數據集,他們要麼不得不遷移到PySpark杠杆火花或downsample他們的數據,以便他們可以使用熊貓。

現在樹袋熊,數據科學家可以從一台機器到分布式環境中,而不需要學習一個新的框架。正如您將在下麵看到的,您可以擴展你的熊貓代碼引發考拉隻需更換一個包。

熊貓:

進口熊貓作為pddf = pd.DataFrame ({“x”:【1,2),“y”:【3,4),“z”:【5,6]})#重命名列df。列= [' x ', ' y ', ' z1 ']#做一些操作df = df (“x2”)。x * df.x

考拉:

進口databricks.koalas作為ksdf = ks.DataFrame ({“x”:【1,2),“y”:【3,4),“z”:【5,6]})#重命名列df。列= [' x ', ' y ', ' z1 ']#做一些操作df = df (“x2”)。x * df.x

熊貓作為Python數據科學的標準詞彙表

作為Python已經成為主要的語言對數據科學、社區開發了一個基於最重要的詞彙庫,包括大熊貓、matplotlib和numpy。當數據科學家能夠使用這些庫時,他們可以充分表達自己的思想和遵循一個想法的結論。他們可以概念化的東西,立即執行它。

但是當他們使用庫以外的詞彙,他們絆跌,他們檢查StackOverflow每隔幾分鍾,他們不得不打斷他們的工作流程讓他們的代碼工作。盡管PySpark使用簡單,在許多方麵與大熊貓,這仍然是一個不同的詞彙學習。

在磚,我們相信,使大熊貓火花數據科學家將大大提高工作效率和數據驅動的組織幾個原因:

  • 考拉刪除需要決定是否使用熊貓或PySpark對於一個給定的數據集
  • 工作,最初是用熊貓為單個機器,考拉允許數據科學家擴大他們的代碼引發隻需斷開熊貓考拉
  • 考拉解鎖大數據的更多數據科學家在一個組織,因為他們不再需要學習PySpark利用火花

下麵,我們顯示的兩個例子簡單和強大的熊貓的方法直接運行在與考拉火花。

工程特性與分類變量

數據科學家構建毫升模型時經常遇到分類變量。一個受歡迎的技術是分類變量作為虛擬變量進行編碼。在下麵的示例中,有幾種分類變量包括調用類型、社區和單位類型。大熊貓get_dummies方法是一種方便的方法,就是這個。下麵我們用熊貓顯示如何做到這一點:

進口熊貓作為pd數據= pd.read_csv (“fire_department_calls_sf_clean.csv”頭=0)顯示器(pd.get_dummies(數據)
原始dataframe
新dataframe
新dataframe

現在多虧了考拉,我們可以與幾個火花調整:

進口databricks.koalas作為ks數據= ks.read_csv (“fire_department_calls_sf_clean.csv”頭=0)顯示器(ks.get_dummies(數據)

這是它!

算術與時間戳

與時間戳數據科學家工作的所有時間,但正確處理它們可以變得很混亂。熊貓提供了一個優雅的解決方案。假設你有一個DataFrame日期:

進口熊貓作為pd進口numpy作為npdate1 = pd.Series (pd.date_range (“2012-1-1 12:00:00”時間=7頻率=“米”))date2 = pd.Series (pd.date_range (“2013-3-11 21:45:00”時間=7頻率=' W '))df = pd.DataFrame (dict(Start_date = date1 End_date = date2))打印(df)
              End_date Start_date02013年-03 -1721:45:002012年-01 -31日12:00:0012013年-03 -2421:45:002012年-02 -29日12:00:0022013年-03 -31日21:45:002012年-03 -31日12:00:0032013年04-0721:45:002012年-04 -30.12:00:0042013年-04 -1421:45:002012年-05 -31日12:00:0052013年-04 -2121:45:002012年-06 -30.12:00:0062013年-04 -2821:45:002012年-07 -31日12:00:00

減去與熊貓的開始日期結束日期,你隻需運行:

df (“diff_seconds”)= df (“End_date”]- df (“Start_date”]df (“diff_seconds”)= df (“diff_seconds”)/ np.timedelta64 (1,“年代”)打印(df)
End_date Start_date diff_seconds0 2013-03-17 21:45:00 2013-03-17 12:00:00 35545500.01 2013-03-24 21:45:00 2012-02-29 12:00:00 33644700.02 2013-03-31 21:45:00 2012-03-31 12:00:00 31571100.03 2013-04-07 21:45:00 2013-04-07 12:00:00 29583900.04 2013-04-14 21:45:00 2013-04-14 12:00:00 27510300.05 2013-04-21 21:45:00 2013-04-21 12:00:00 25523100.06 2013-04-28 21:45:00 2013-04-28 12:00:00 23449500.0

現在做同樣的事情在火花,所有你需要做的是替換熊貓考拉:

進口databricks.koalas作為ksdf = ks.from_pandas (pandas_df)df (“diff_seconds”)= df (“End_date”]- df (“Start_date”]df (“diff_seconds”)= df (“diff_seconds”)/ np.timedelta64 (1,“年代”)打印(df)

再一次,就這麼簡單。

下一個步驟,開始使用考拉

你可以看到考拉的官方聲明雷諾新火花+人工智能峰會:

玩這個視頻,請點擊這裏,接受餅幹

我們創建了考拉因為我們見麵很多數據的科學家們不願意處理大數據。我們相信,考拉將賦予他們規模,使其很容易引發。

到目前為止,我們已經實現了常見DataFrame操作方法,以及強大的索引技術在熊貓。這裏有一些即將到來的項目在我們的路線圖,主要專注於提高覆蓋率:

這個項目處於初期階段,但快速發展。如果你有興趣學習更多關於考拉或開始,看看項目的GitHub回購。我們歡迎你的反饋和貢獻!

免費試著磚

相關的帖子

看到所有公告的帖子
Baidu
map