当前位置:   article > 正文

【python数据分析基础】—对列操作:获取DataFrame不同的类型columns_python dataframe 获取列名

python dataframe 获取列名


前言

在DataFrame进行数据分析时,我们时常会想对DataFrame的所有列进行数据清洗操作,比如转换不同字段的数据类型,但如果DataFrame字段比较多,一列列数据引用进行数据处理显现效率比较低,使用DataFrame.columns方法获取的结果可以观察到列名和数据类型,但是无法直接对得到的结果进行操作。因此本文主要介绍返回DataFrame的列名的不同类型,我们对此进行操作。


一、生成不同类型的列名

创建DataFrame

import pandas as pd 
df=pd.DataFrame([1,2,3],[4,5,6],[7,8,9],columns=['ABC'])
df
  • 1
  • 2
  • 3

最常用方法

df.columns
print(type(df.columns))
  • 1
  • 2

在这里插入图片描述

这种方法获取的结果是可以观察到列名和数据类型,但是无法直接对得到的结果进行操作。

1.获取数组类型的结果

df.columns.values
  • 1

在这里插入图片描述

2.获取list类型的结果

df.columns.values.tolist()
df.columns.tolist()
[columns for column in df]
list(df.columns.values)
list(df)
list(df.columns)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述


二、实际应用

导入数据

import os 
import pandas as pd
import numpy as np

def read_file(filepath):
    os.chdir(os.path.dirname(filepath))
    return pd.read_csv(os.path.basename(filepath),encoding='utf-8')

file_pos="F:\\python_machine_learing_work\\501_model\\data\\第一次建模用的样本数据\\训练集\\v1_6_feature.csv"

data_pos=read_file(file_pos)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

查看数据情况

data_pos.shape
data_pos.dtypes
  • 1
  • 2

在这里插入图片描述
在这里插入图片描述

数据预处理:删除无关变量及字段类型转化。对所有列进行操作,使用"for key in list(data.columns):"。

#删除无关变量
data_pos_1=data_pos.drop(['billing_nbr','start_date','channel_type_desc'],axis = 1)

def category_continuous_resolution(data,variable_category):
    for key in list(data.columns):
        if key not in variable_category:
            variable_continuous.append(key)
        else:
            continue
    return variable_continuous

#字段类型转化
def feature_type_change(data,variable_category):
    '''
    字段类型转化
    '''
    for col_key in list(data.columns):
        if col_key in variable_category:
            data[col_key]=data[col_key].astype(eval('object'),copy=False)
        else:
            data[col_key]=data[col_key].astype(eval('float'),copy=False)
    return data


#字段按照类型拆分
variable_category=['channel_type_desc_1','payment_method_name_1','data_source'] #分类变量
variable_continuous = [] #连续变量

variable_continuous = category_continuous_resolution(data_pos_1,variable_category)
data_pos_2=feature_type_change(data_pos_1,variable_category)
data_pos_2.dtypes
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

在这里插入图片描述


参考文章:
https://zhuanlan.zhihu.com/p/110185625

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/153130?site
推荐阅读
相关标签
  

闽ICP备14008679号