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


前言

在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

### 回答1: Python中的DataFrame列名指的是数据框中每一列的名称,可以通过以下方式获取或设置列名: 获取列名: ```python df.columns ``` 设置列名: ```python df.columns = ['col1', 'col2', 'col3'] ``` 其中,df为数据框对象,['col1', 'col2', 'col3']为新的列名列表。 ### 回答2: Python中的DataFrame是pandas库提供的一种数据结构,类似于表格,可以灵活地处理数据。DataFrame的列名是指DataFrame中每一列的名称。 在创建DataFrame时,可以通过参数columns指定DataFrame的列名。例如: ``` import pandas as pd data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'Gender': ['Female', 'Male', 'Male']} df = pd.DataFrame(data, columns=['Name', 'Age', 'Gender']) ``` 在这个例子中,我们通过字典data创建了一个DataFrame,并在创建时指定了列名为'Name'、'Age'和'Gender'。 另外,可以通过DataFramecolumns属性来获取列名。例如: ``` print(df.columns) ``` 这样会输出DataFrame的所有列名。 还可以通过DataFrame的rename方法来修改列名。例如: ``` df.rename(columns={'Name': 'Full Name'}, inplace=True) ``` 这样会将列名'Name'修改为'Full Name'。 需要注意的是,DataFrame的列名是一个索引对象,可以通过索引对象的方法来进行操作,如添加新的列名、删除列名等。 总结起来,PythonDataFrame列名是指DataFrame中每一列的名称,可以通过创建DataFrame时指定列名、通过columns属性获取列名、通过rename方法修改列名来操作。 ### 回答3: PythonDataFrame是pandas中的一种数据结构,类似于表格形式的数据集。它由多个列组成,每一列都有一个名称来表示其含义。 DataFrame的列名可以通过多种方式进行操作和管理。以下是几种常见的操作方法: 1. 获取列名:可以使用DataFramecolumns属性来获取所有的列名,返回一个列名的列表。 2. 修改列名:可以使用DataFrame的rename方法来修改列名。该方法接受一个字典作为参数,字典的键是旧的列名,值是新的列名。 3. 删除列名:可以使用DataFrame的drop方法来删除列名。该方法接受一个参数,即要删除的列名。 4. 添加列名:可以使用DataFramecolumns属性来添加列名。该属性接受一个列表作为参数,列表的元素是新的列名。 5. 检查列名是否存在:可以使用in关键字来检查列名是否存在于DataFrame中。例如,可以使用"列名" in df.columns来检查名为"列名"的列是否存在于DataFrame df中。 通过对列名的操作,我们可以更好地理解和利用DataFrame中的数据。这些操作能够帮助我们对数据进行重命名、筛选、分析和可视化等操作,提高数据处理的效率和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值