pandas手册_Python之Pandas使用系列(十):数据科学家的pandas快速参考手册

58eaf74269918498eb46188ecd87b197.png

介绍

我希望本指南能成为一个轻松的快速参考手册,以刷新您在Pandas中的数据处理技能。

注意: 您可以随意使用任何数据集。

Pandas常用关键字:

Dataframe: 类似于电子表格的数据的二维结构

Series: 固定数据类型的一维索引数组

首先,让我们加载pandas

import pandas as pdurl = “https://raw.githubusercontent.com/jokecamp/FootballData/master/Germany/Bundesliga/1964/matches.csv"
  1. 您可以从Internet加载数据而无需下载
data = pd.read_csv(url)data.head()

从url读取数据

(注意:tail()命令从tail中选择行,您也可以将数字参数传递给head和tail命令)

您可以对pandas使用一些 exploratory data analysis(EDA) commands

# print column namesdata.columns# print general information about dataframedata.info()# STATISTICS of non-numerical fields (explicitely indicate data #types of interest in include parameterdata.describe(include=[‘object’, ‘bool’])#(Also don’t forget to try with only describe())# For categorical(type object) and boolean(type bool) features, we #can use value_counts method to count the number of values.data[‘home_team’].value_counts()# If you want to calculate porportions try this:data[‘home_team’].value_counts(normalize=True)# Get min and max value from columndata[‘round’].min()data[‘round’].max()# Calculate mean of a columndata[‘round’].mean()
  1. DataFrame Indexing

可以通过列名(label),行名(index)或行的序列号对DataFrame进行索引。

loc: 按名称索引

# Get 5 rows from home_score column to away_team columndata.loc[0:5, ‘home_score’:’away_team’]

iloc: 按数字索引

# Same thing as above but using numbersdata.iloc[0:5, 2:5]

2.更改列中的值

data[‘away_score’] = data[‘away_score’].apply(lambda x: x*2)ORdata[‘away_score’] = data[‘away_score’].str.split(“ “)

将away_score列加倍

3.添加新列

data[‘new_coumn’] = [i+1000 for i in range(len(data))]

(注意:使用数组添加新列不是唯一的方法,但是您也可以使用pandas的Series对象在数据框中创建列。)

4.将function应用于多列

data[[‘away_score’,’new_coumn’]] = data[[‘away_score’,’new_coumn’]].apply(lambda x: x*2)

(注意:您只需要传递要修改的列的列表即可。)

5.用NaN计数行

看看有多少行为空

6.选择NaN行并进行一些操作

选择带有Nan的注释列的行

重要提示:填充NaN行是单独的主题,不在本文的讨论范围之内。填充缺失值的方法有很多,例如用均值,中位数,最高频率等填充。但是,如果要填充一些恒定值,则非常简单:

data.fillna(0)

7.选择非NaN行并进行一些操作

data[data[‘notes’].notnull()]

选择带有非nan值的注释列的行

8.填充NaN行

data.fillna(value = “Replace NaN”, inplace = True)

用“ Replace Nan”字符串替换nan值

9.将行追加到数据框

data = data.append({ “round”: 5, “home_team”: “Some name”, “home_score”: 0, “away_score”: 50, “away_team”: “some team”, “notes”: “nothing”, “new_coumn”: “Nothing”}, ignore_index=True)data.tail(5)

将行追加到Dataframe

10.排序并重新索引数据框

data = data.sort_values([‘round’], ascending=False)# If you want to sort by multiple columns, just pass list of columnsdata = data.sort_values(by=[‘round’, ‘away_score’], ascending=[1,0])data.head()

按降序排序

11.更新列

data.index = range(1, len(data)+1)data.head()

排序后重新索引数据框

12.使用按位运算的链接条件

data[(data[‘notes’] == “Replace NaN”) & (data[‘round’] > 25)]Note: Use | for OR conidtion

在数据框的列上应用和操作

13.打印列类型

(注意:对于字符串,它使用的是“对象”数据类型)

14.按列类型选择

import numpy as npdata.loc[:, (data.dtypes == np.dtype(‘O’)).values].head()# Note: ‘O’ means object type. if you want floats use ‘float64’ #instead.

选择对象数据类型

15.转换列类型

data[‘away_score’] = data[‘away_score’].astype(float)

16.条件测试

mydata = [ [1,2,3], [4,5,6] ]df = pd.DataFrame(mydata)df < 2

如果在数据框上测试

17.迭代数据框上的行

注意:我不建议您在数据帧的行上循环并执行操作,但是如果有必要您必须进行迭代,请使用以下方法:

for index, row in data.iterrows(): name = row[‘name’] age = row[‘age’] # do some operation

18.将数据框导出为CSV

如果您想与团队中的某人共享结果,请先做,然后以CSV格式导出结果,然后将其导入到Google表格中并共享:

data.to_csv(‘result_file.csv’)

总结:

本文是快速入门,可以帮助您完善使用Pandas数据框的概念。、

如果您喜欢我的文章,请不要忘记在媒体上关注我。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值