如何從 Pandas DataFrame 中的字串中提取數字?

Patricia Arquette
發布: 2024-10-24 10:24:02
原創
428 人瀏覽過

How to Extract Numbers from Strings in Pandas DataFrames?

使用Pandas 從DataFrame 字串中提取數字

在資料分析中,經常需要從字串中提取特定的模式或資料類型。對於 Pandas DataFrames,字串列可能包含混合資料類型,包括字元和數字。本文解決了使用強大的 Pandas 庫從此類字串中提取數字的挑戰。

考慮以下名為「df」的範例DataFrame,其中包含一個名為「A」的列,其中包含字串和數值的混合:

<code class="python">import pandas as pd
import numpy as np
df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'],
                   })</code>
登入後複製

我們的目標是隔離每個單元格中的數值,從而產生一個僅包含整數的乾淨列:

    A
0   1
1   NaN
2   10
3   100
4   0
登入後複製

使用正則表達式和捕獲組

從字串中提取數字的一種有效方法是結合使用正規表示式(regex) 和捕獲組。正規表示式允許我們指定匹配字串中某些字元或序列的模式。捕獲組使我們能夠捕獲並提取字串的匹配部分。

在這種情況下,我們可以採用以下正規表示式模式:

(\d+)
登入後複製

此模式表示匹配的捕獲組連續一個或多個數字 (d)。

使用「str.extract」方法將此模式應用於我們的DataFrame:

<code class="python">df.A.str.extract('(\d+)')</code>
登入後複製

產生所需的結果:

0      1
1    NaN
2     10
3    100
4      0
Name: A, dtype: object
登入後複製

捕獲組成功提取了字串的數字部分,忽略了字元。需要注意的是,此方法特定於整數,不適用於浮點值。

總之,使用帶有捕獲組的正則表達式提供了一種從字符串列中提取數字的簡潔有效的方法在 Pandas DataFrame 中。透過採用這種技術,資料分析師可以有效地隔離數位資料以進行進一步的分析和操作。

以上是如何從 Pandas DataFrame 中的字串中提取數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!