簡體   English   中英

pandas astype(): str vs 'string' vs StringDtype

[英]pandas astype(): str vs 'string' vs StringDtype

很多關於 object 與 pandas 中的字符串 dtypes 的帖子。 在很大程度上,我已經理解了這種區別。 我不明白的是這三個選項之間的區別:

some_series.astype(str)
some_series.astype('string')
some_series.astype(pd.StringDtype())
  • 第一個選項將 Series 的 dtype 轉換為 object 類型。
  • 第二個選項保留 pd.NA(在 Jupyter 中顯示為 <NA>),因此是可以為空的字符串類型。
  • 據我所知,第三個選項的行為似乎與第二個選項完全相同:也是可以為空的字符串類型。

此外,如果在執行 astype() 后檢查第二個和第三個選項的 dtype,兩者都返回相同的 output: string[python]

為了簡單起見,我可以只使用 astype('string') 而不是 astype(pd.StringDtype()) 並獲得完全相同的行為,包括轉換只有整數/浮點數的系列或此類數字數據的可空版本類型? astype('string') 和 astype(pd.StringDtype()) 是否都在內部映射到 StringDtype? 我無法在 pandas 文檔(或其他 stackoverflow 帖子)中找到關於這一點的清晰說明。 謝謝您的幫助。

使用:

  • pandas 1.4.1
  • python 3.10.4

Pandas 文檔解釋說“字符串”是 StringDtype 的別名。 請參閱下面的鏈接:
Pandas dtype 別名

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM