編寫一個Python程式,用於過濾給定序列中的整數元素。


輸入 − 假設您有以下序列 −

0    1
1    2
2    python
3    pandas
4    3
5    4
6    5

輸出 − 只包含整數元素的結果為 −

0    1
1    2
4    3
5    4
6    5

方案1

  • 定義一個序列。

  • 在正則表示式內應用lambda filter方法來驗證數字,表示式只接受字串,因此將所有元素轉換為字串。定義如下:

   data = pd.Series(ls)
   result = pd.Series(filter(lambda x:re.match(r"\d+",str(x)),data))
  • 最後,使用isin()函式檢查值。

示例

讓我們看下面的實現來更好地理解。

import pandas as pd
ls = [1,2,"python","pandas",3,4,5]
data = pd.Series(ls)
for i,j in data.items():
   if(type(j)==int):
      print(i,j)

輸出

0    1
1    2
4    3
5    4
6    5

方案2

示例

import pandas as pd
import re
ls = [1,2,"python","pandas",3,4,5]
data = pd.Series(ls)
result = pd.Series(filter(lambda x:re.match(r"\d+",str(x)),data))
print(data[data.isin(result)])

輸出

0 1
1 2
4 3
5 4
6 5

更新於: 2021年2月24日

515 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.