您的位置:

python创建数据框示例的简单介绍

本文目录一览:

Python—padas(DataFrame)的常用操作

我们先说一下DataFrame是什么:

1、DataFrame是一种数据框结构,相当于是一个矩阵形式,单元格可以存放数值、字符串等,这和excel表很像;

2、DataFrame是有 行(index)和 列(columns)可以设置的;

有了示例,我们就能明白创建时需要传入数据,指定index(行索引名)和columns(列名);

在我们需要将单个元素的字典直接转为DataFrame时,程序会报错,需要适当做些转换,指定行索引或者列索引才行;

在增加列的时候我们用到了一个索引loc,后面我们再详细对loc进行说明,此处先知道可以这样使用。

文本字符串数据处理之前,一定要先转为字符(.str)再进行处理

loc 和 iloc如果容易记混,你就取巧记忆,index是索引

所以iloc则是依据位置索引进行取数,没有i的则是按照名称进行提取数据

原谅我很懒,比较喜欢这样框架式的笔记,所以文字就会比较少(#^.^#)!!!

最全的pandas面试基础100题目

在进行下面的题目操作时,一定要先导入上面的两个数据分析包 pandas、numpy

1. 如何用Python的列表创建一个series?

输出:

一个series是一个一维的标记数组,可以容纳任何数据类型(整数、字符串、浮点数、Python对象等)。必须记住,与Python列表不同,一个series总是包含相同类型的数据。

2.如何使用列表创建一个DataFrame?

输出:

3.如何使用Series 字典对象生成 DataFrame?

输出:

4.如何在pandas中创建一个空的DataFrame?

要创建一个完全空的pandas dataframe,我们使用以下操作:

输出:

已知有这样的数据,如何进行查看

输出:

2.如何查看尾部数据?

3.如何快速查看数据的统计摘要?

4.如何查询索引和列名?

1.简述Pandas Index

在panda中建立索引意味着简单地从DataFrame中选择特定的数据行和列。

pandas支持四种类型的多轴索引,它们是:

它们统称为索引器。这些是迄今为止索引数据最常见的方法。这四个函数有助于从DataFrame获取元素、行和列。

2.Pandas 定义重新索引(Reindexing)

重新索引会更改DataFrame的行标签和列标签。重新索引意味着使数据符合特定轴上给定的一组标签。

多个操作可以通过像这样的索引来完成:

输出:

3.如何设置索引?

panda set_index() 是一种将列表、序列或dataframe设置为dataframe索引的方法。

语法:

DataFrame.set_index(keys, inplace=False)

参数:

改变索引列

在本例中,名称列被用作DataFrame的索引列

输出:

如输出图像所示,以前索引列是一系列数字

Before Operation –

After Operation

4.如何重置索引?

Pandas Series.reset_index()

函数的作用是:生成一个新的DataFrame或带有重置索引的Series。

例1: 使用 Series.reset_index() 函数重置给定Series对象的索引

输出:

现在,我们将使用Series.reset_index()函数来重置给定的series对象的索引

输出 :

从输出中可以看到,该 Series.reset_index() 函数已将给定Series对象的索引重置为默认值。它保留了索引,并将其转换为列。

1.1先创建数据:

1.2选择单列,产生 Series

详见 按标签选择 。

2.1用标签提取一行数据:

详见 按位置选择 。

3.1用整数位置选择:

4.1用单列的值选择数据:

5.1用索引自动对齐新增列的数据:

1.如何得到一个数列的最小值、第25百分位、中值、第75位和最大值?

输出:

Pandas dataframe.mean(axis=None) 函数返回所请求轴(axis=0代表对列进行求平均值,axis=1代表对行进行求平均值)的值的平均值。

示例: 使用 mean() 函数查找索引轴上所有观测值的平均值。

输出:

让我们使用datafame .mean()函数来查找索引轴上的平均值。

3.如何将函数应用到DataFrame中的每个数据元素?

可以使用 apply() 函数以便将函数应用于给定dataframe中的每一行。让我们来看看我们完成这项任务的方式。

实例:

输出:

4.如何在panda中获得一个DataFrame的行数和列数?

输出:

获取df的行和列计数

输出:

5.如何在panda DataFrame中获得列值的总和?

Pandas dataframe.sum() 函数返回所请求轴的值的和

语法: DataFrame.sum(axis=None, skipna=None, )

参数:

示例1: 使用 sum() 函数查找索引轴上所有值的总和

现在求出沿索引轴的所有值的和。我们将跳过计算和时的NaN值。

输出:

如何将新行追加到pandas DataFrame?

Pandas dataframe.append() 函数的作用是:将其他dataframe的行追加到给定的dataframe的末尾,返回一个新的dataframe对象。

语法:

DataFrame.append( ignore_index=False,)

参数:

示例1: 创建两个数据框,然后将第二个附加到第一个。

现在将df2附加到df1的末尾

输出:

请注意,第二个DataFrame的索引值保留在附加的DataFrame中。如果我们不希望发生这种情况,则可以设置ignore_index = True。

输出 :

“group by” 指的是涵盖下列一项或多项步骤的处理流程:

详见 分组 。

输出:

1.先分组,再用 sum() 函数计算每组的汇总数据:

输出:

2.多列分组后,生成多层索引,也可以应用 sum 函数:

输出:

如何将numpy数组转换为给定形状的DataFrame?

输出:

输出:

透视表是一种可以对数据动态排布并且分类汇总的表格格式,在pandas中它被称作pivot_table。

pivot_table(data, values=None, index=None, columns=None)

参数:

详见: 数据透视表

打印输出:

用上述数据生成数据透视表非常简单:

返回结果:

1.如何将列添加到pandas DataFrame?

源数据:

输出:

输出:

2.如何向panda DataFrame添加索引、行或列?

向DataFrame添加索引

如果您创建了一个DataFrame, panda允许将输入添加到索引参数中。它将确保您拥有所需的索引。否则,在默认情况下,DataFrame包含一个数值索引,该索引从0开始,在DataFrame的最后一行结束。

向DataFrame添加行、列

我们可以使用.loc、iloc和ix将行、列插入到DataFrame中。

添加具有特定索引名的行:

输出:

3.如何在panda DataFrame上进行迭代?

您可以通过结合使用for循环和对DataFrame的iterrows()调用来遍历DataFrame的行。

输出:

4.我们如何排序DataFrame?

我们可以通过以下几种有效地在DataFrame中执行排序:

(1)按标签

可以使用sort_index()方法对数据dataframe进行排序。可以通过传递axis参数和排序顺序来实现。默认情况下,按升序对行标签进行排序。

python 用groupby之后生成新的数据框

最近在做一点点风控的东西,想把toad中的ks_bucket改修正下,原码里面是按得分的最大最小值划分的bucket,但我在实际的应用中想更个性化的划分节点去统计。

首先需要解决的一个问题是把0~1上的概率给划分到不同的区间,然后分别统计即可。

之前一直用groupby,分组后想count, sum,后变成df。在网上找了好几种方法,都没有成功,最后还是英文文档解决了我的问题。

这是划分好后的各列情况 , 第一列:概率,第二列:所属的区间, 第三列: 实际的label

我主要是 想把这三列 , 按第二列分组,统计各区间的总数,和label为1的数

用NamedAgg 即可把原来的分组变为数据框。

python Pandas 如何实现excel透视的创建组功能

1、Series的创建

序列的创建主要有三种方式:

1)通过一维数组创建序列

import numpy as np, pandas as pd

arr1 = np.arange(10)

arr1

type(arr1)

s1 = pd.Series(arr1)

s1

type(s1)

2)通过字典的方式创建序列

dic1 = {'a':10,'b':20,'c':30,'d':40,'e':50}

dic1

type(dic1)

s2 = pd.Series(dic1)

s2

type(s2)

3)通过DataFrame中的某一行或某一列创建序列

这部分内容我们放在后面讲,因为下面就开始将DataFrame的创建。

2、DataFrame的创建

数据框的创建主要有三种方式:

1)通过二维数组创建数据框

arr2 = np.array(np.arange(12)).reshape(4,3)

arr2

type(arr2)

df1 = pd.DataFrame(arr2)

df1

type(df1)

2)通过字典的方式创建数据框

以下以两种字典来创建数据框,一个是字典列表,一个是嵌套字典。

dic2 = {'a':[1,2,3,4],'b':[5,6,7,8],

'c':[9,10,11,12],'d':[13,14,15,16]}

dic2

type(dic2)

df2 = pd.DataFrame(dic2)

df2

type(df2)