如何用python pandas按某列中字符长度等于18位的条件 筛选出excel表中所有数据?
问题描述:
比如,一个excel 表中,有一列是各类证件号,如何用python pandas 方法,按按某列中字符长度等于18位的条件 筛选出excel表中所有数据。这个条件如何写?
答
用str.len方法来获取长度:
import pandas as pd
import numpy as np
from pandas import DataFrame,Series
lc = pd.DataFrame(pd.read_csv('LoanStats3a.csv',header=0,dtype=str))
df = lc[lc["ID"].str.len() == 18]
print(df)
LoanStats3a.csv文件demo为:
ID,name,age
320625198811201233,wang,32
120625198811201233,wang1,32
220625198811201233,wang2,32
320625198811201233,wang3,32
420625198811201233,wang4,32
520625198811201233,wang5,32
5206,wang5,32
核心筛选语句为:df = lc[lc["ID"].str.len() == 18],每列必须是字符类型,使用str.len才能进行长度判断。