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

2023-09-21 09:18:08


前言

在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

最常用方法

df.columns
print(type(df.columns))

在这里插入图片描述

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

1.获取数组类型的结果

df.columns.values

在这里插入图片描述

2.获取list类型的结果

df.columns.values.tolist()
df.columns.tolist()
[columns for column in df]
list(df.columns.values)
list(df)
list(df.columns)

在这里插入图片描述


二、实际应用

导入数据

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)

查看数据情况

data_pos.shape
data_pos.dtypes

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

数据预处理:删除无关变量及字段类型转化。对所有列进行操作,使用"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

在这里插入图片描述


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

更多推荐

26.39万起的2024款小鹏G9能大卖吗?

监制|何玺排版|叶媛小鹏2024款G9正式发布。新G9对硬件配置和智驾系统做了升级,起售价上更比老款G9直降4万余元,以全新的姿态,再度杀入纯电中大型旗舰SUV赛道。“重生”而归的新款G9,这次能大卖吗?012024款小鹏G9发布2024款G9发布会上,小鹏汽车董事长何小鹏亲自主持并对新产品进行了详尽阐述。在发言中,他

海外代理IP是什么?如何使用?

一、海外代理IP是什么?首先,代理服务器是在用户和互联网之间提供网关的系统或路由器。它是一个服务器,被称为“中介”,因为它位于最终用户和他们在线访问的网页之间。海外IP代理是就是指从海外地区获取的IP地址,用于将互联网连接路由通过位于不同国家或地区的服务器。这种代理服务允许用户隐藏其真实的地理位置,并获得访问其他国家或

Redis缓存与从数据取数据性能比较

Redis缓存与从数据取数据性能比较为什么使用Redis使用Redis缓存数据有多个原因,包括提高性能、降低数据库负载、减少响应时间和支持临时数据存储等。以下是一些主要原因以及Redis缓存的工作原理和好处:1.提高性能:数据库查询通常是一个相对较慢的操作,特别是当数据库中的数据量很大时。通过将常用的数据存储在Redi

定制EXP之RCE

文章目录1.常见模块介绍1.1base641.1.1base64编码1.1.2base64解码1.2string2.常规EXP编写2.1phpstudy_2016-2018_rce漏洞2.1.1漏洞利用脚本2.1.2进阶脚本2.1.3漏洞检测名词解释POC(ProofofConcept)漏洞验证代码,验证漏洞的存在性。

【ODPS新品发布第2期】实时数仓Hologres:推出计算组实例/支持JSON数据/向量计算+大模型等新能力

阿里云ODPS系列产品以MaxCompute、DataWorks、Hologres为核心,致力于解决用户多元化数据的计算需求问题,实现存储、调度、元数据管理上的一体化架构融合,支撑交通、金融、科研、等多场景数据的高效处理,是目前国内最早自研、应用最为广泛的一体化大数据平台。本期将重点介绍ꔷHologres推出计算组实例

计算机竞赛 深度学习OCR中文识别 - opencv python

文章目录0前言1课题背景2实现效果3文本区域检测网络-CTPN4文本识别网络-CRNN5最后0前言🔥优质竞赛项目系列,今天要分享的是🚩**基于深度学习OCR中文识别系统**该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!🥇学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:4分🧿更多

java 服务jvm参数据配置

JVM参数设置说明-Xms4g初始堆大小默认物理内存的1/64(<1GB)默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制。初始和最大最好设置成一样,避免堆内存在应用运行过程中自动扩容而影响服务稳定性-Xmx4g最大堆大小默认物理内存的1/4(<1GB)

选择半导体老化测试方法

随着半导体使用的不断普及,老化成为一个主要问题。由于半导体的电气特性发生变化,老化可能会导致严重的故障。老化是指半导体器件由于连续使用或长时间暴露于各种环境条件(包括温度、湿度、辐射和电应力)而导致的电气特性的缓慢损失。半导体老化的影响包括:设备漏电流的增加会导致传输质量下降和能耗增加。阈值电压降低,影响器件的开关特性

<图像处理> Harris角点检测

Harris角点检测原理Harris角点检测是一种计算机视觉中常用的角点检测算法,用于在图像中检测出角点特征。角点通常被定义为两条边的交点,或者说,角点的局部邻域应该具有两个不同区域的不同方向的边界。Harris角点检测算法是最常用且最基础的角点检测算法之一。Harris角点检测算法的原理是通过计算图像中每个像素点的响

spring security auth2.0实现

OAuth2.0的认证/授权流程jwt只是认证中的一步4中角色资源拥有者(resourceowner)、客户端(client第三方)、授权服务器(authorizationserver)和资源服务器(resourceserver)。AuthorizationCode(授权码模式):OAuth2的授权模式,客户端先将用户

【STM32学习】I2C通信协议 | OLED屏

🐱作者:一只大喵咪1201🐱专栏:《STM32学习》🔥格言:你只管努力,剩下的交给时间!今天需要将代码烧录到开发板中,本喵默认大家都会创建工程,以及进行基本的外设配置。I2C通信协议|OLED屏😽I2C协议🙈数据格式🙈I2C信号时序🙈I2C驱动代码😽OLED显示🙈SSD1306🙈SSD1306的I2

热文推荐