泛览天下

阅读,看尽天下事

Pandas进阶120题之31:以data的列名创建一个dataframe

2021-10-12 21:34:12


主要包括:Pandas基础Pandas进阶金融数据处理NumPy科学计算一些补充(https://www.heywhale.com/mw/project/5ef96ce863975d002c95fd8a/content)原始数据:impor


为帮助学习pandas,特意从和鲸社区中提炼出120道经典数据处理常见操作例题,从基础入门到进阶来更快速、更专业的角度理解pandas。主要包括:

  • Pandas基础
  • Pandas进阶
  • 金融数据处理
  • NumPy科学计算
  • 一些补充

(https://www.heywhale.com/mw/project/5ef96ce863975d002c95fd8a/content)

原始数据:

import pandas as pd
import numpy as np
import re
import time
data=pd.read_excel(r'C:\Users\huatian\Desktop\Python_test\python_120_test_data.xlsx')
data.head().T

数据理解:

查看数据数量:data.shape

data.shape
Pandas进阶120题之31:以data的列名创建一个dataframe

如上图显示,数据有20行,50列。并利用data.info()进一步了解数据,每列数据是否有空值,数据类型,数据大小等

Pandas进阶120题之31:以data的列名创建一个dataframe

根据isnull().sum(),查看所有空值的列

data_col=data.isnull().sum()
data_col[data_col>0]
Pandas进阶120题之31:以data的列名创建一个dataframe

需求描述:现有一dataframe,列名为:'positionId', 'positionName', 'companyId', 'companyLogo', 'companySize', 'industryField', 'financeStage', 'companyLabelList', 'firstType', 'secondType', 'thirdType', 'skillLables', 'positionLables', 'industryLables', 'createTime', 'formatCreateTime', 'district', 'businessZones', 'salary', 'workYear', 'jobNature', 'education', 'positionAdvantage', 'imState', 'lastLogin', 'publisherId', 'approve', 'subwayline', 'stationname', 'linestaion', 'latitude', 'longitude', 'hitags', 'resumeProcessRate', 'resumeProcessDay', 'score', 'newScore', 'matchScore', 'matchScoreExplain', 'query', 'explain', 'isSchoolJob', 'adWord', 'plus', 'pcShow', 'appShow', 'deliver', 'gradeDescription', 'promotionScoreExplain', 'isHotHire'。

现有一需求,需要创建一个新的dataframe,但新列名需要跟上面的列名一样。则怎么创建呢?

代码实现:

1.获得data的列名:data.columns;

2.新建dataframe,并利用columns设置列名;

data_01=pd.DataFrame(columns=data.columns)
或者
data_01 = pd.DataFrame(columns = data.columns.tolist())
Pandas进阶120题之31:以data的列名创建一个dataframe


总结:以data的列名创建一个dataframe:

1.获得data的列名:data.columns;

2.新建dataframe,并利用columns设置列名;