日常小知识点积累:python list列表推导式、pandas.get_dummies、pandas.DataFrame.dtypes

1.列表推导式基本形式:

 result = [item for item in squence <if conditions>]

 举例:在以下球员姓名名单中找出名字中含有字母‘a’的球员

roster = ['Irving','Hayward','Horford','Tatum','Jaylen','Rozier','Smart']
contains_a = [i for i in roster if 'a' in i]
contains_a

>>>['Hayward', 'Tatum', 'Jaylen', 'Smart']  

2.pandas.get_dummies:

pandas提供的这个方法用于给类别型变量进行one-hot或dummy编码(二者差别:dummy少用一个维度的变量来表示和one-hot编码相同的信息量,具体请见https://blog.csdn.net/weixin_41712499/article/details/82657296

pandas.get_dummies(dataprefix=Noneprefix_sep='_'dummy_na=Falsecolumns=Nonesparse=False

                                 drop_first=Falsedtype=None)

说说里面几个参数的意义:

  •  prefixstring, list of strings, or dict of strings.     

前缀,即你进行one-hot编码后多出来的几列特征,其列名前缀。

  • dummy_na : bool, default False

若这个参数设置为True,则NaN项也会被作为一个特征取值进行one-hot编码

  • columns : list-like, default None

想要被进行one-hot编码的特征的列名集合。当columns = None,则默认所有dtype为object的数据均进行one-hot编码

  • drop_first : bool, default False

若True,则进行one-hot编码的这个特征(假设有离散的k个取值)被转化成k个one-hot特征,即one-hot编码;

若False,则进行one-hot编码的这个特征(假设有离散的k个取值)被转化成k-1个one-hot特征,即dummy编码;

3.pandas.DataFrame.dtypes:

pandas提供的这个方法用于返回这个DataFrame中所有列的dtype,以一个pandas.Series形式返回。这个Series的index就是DataFrame的各列名。

  • 常见的pandas数据dtype:
    dft = pd.DataFrame(dict(A = np.random.rand(3), B = 1, C = 'foo',D =     
                            pd.Timestamp('20010102'), E = 
                            pd.Series([1.0]*3).astype('float32'),F = False, G = 
                            pd.Series([1]*3,dtype='int8')))
    print(dft)
    
              A  B    C          D    E      F  G
    0  0.809585  1  foo 2001-01-02  1.0  False  1
    1  0.128238  1  foo 2001-01-02  1.0  False  1
    2  0.775752  1  foo 2001-01-02  1.0  False  1
    
    
    
    print(dft.dtypes)
    
    A           float64
    B             int64
    C            object
    D    datetime64[ns]
    E           float32
    F              bool
    G              int8
    dtype: object

           请注意:各数据类型的混合列,dtype = 'object'; 我们可以用dtype == ‘object’来挑选categorical数据,因为它们的特征值大多都是字符串格式的。

猜你喜欢

转载自blog.csdn.net/weixin_41712499/article/details/82698103