Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรม Python กรองเฉพาะค่า integer ใน Series


อินพุต - สมมติคุณมี series

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

เอาต์พุต - ผลลัพธ์เฉพาะค่า integer

0    1 1    2 4    3 5    4 6    5

วิธีที่ 1

  • สร้าง Series

  • ใช้ filter กับ lambda และ regex ตรวจสอบตัวเลข

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