跳过主要导航

熊猫的基本操作是什么?

PANDA具有某些基本操作,数据分析师需要用来与串联和数据框架中存储的数据进行交互。

数据分析师花费大量时间清洁和准备数据集进行工作。他们必须拥有必要的工具和能力来处理混乱的数据集,缺失值,不一致和模棱两可的数据。

PANDA具有某些基本操作,数据分析师需要用来与串联和数据框架中存储的数据进行交互。这些操作允许数据分析师在数据分析之前将数据变成可行的形式。

重新索引

我们在大熊猫数据结构上执行的必要操作是重新索引,这意味着创建一个新对象并重新安排熊猫数据结构中的数据,并符合新索引。

在这样做的同时,如果原始数据中的某些索引不存在数据,则添加了与这些索引相对应的丢失值。

代码:

一种=系列((NP随机的兰德((10),指数=[['一种',,,,'b',,,,'C',,,,'D',,,,'e',,,,'F',,,,'G',,,,'H',,,,'一世',,,,'J')))一种

输出:

A 0.591050

B -0.952670

C -0.948599

D 0.091596

E -1.096649

F 0.199346

G 0.856941

H -0.086180

I -2.623903

J 0.271230

dtype:float64

代码:

new_index=[['一种',,,,'a1',,,,'b',,,,'B1',,,,'C',,,,'C1',,,,'D',,,,'e',,,,'F',,,,'G',,,,'H',,,,'一世',,,,'J'这是给予的重新=一种reindex((new_index重新

输出:

A 0.591050

a1 nan

B -0.952670

B1 Nan

C -0.948599

C1 Nan

D 0.091596

E -1.096649

F 0.199346

G 0.856941

H -0.086180

I -2.623903

J 0.271230

dtype:float64

在重新索引期间处理缺失值

想象一下您正在处理员工记录的情况。但是,许多员工提供了不完整的信息。您需要一种处理这些案例并突出显示差距以跟进它们的方法。也许您可以将“未知”插入所有空字段中,以使丢失的值易于识别。

在重新索引期间可以处理丢失值的各种方式。我们可以:

    • 要么指定要填充的特定值 - 我们通过添加参数来做到这一点fill_value = <要填充的值>到Reindex方法

例如:

代码:

a_fillvalue=一种reindex((new_index,,,,fill_value=0a_fillvalue

输出:

A 0.591050

A1 0.000000

B -0.952670

B1 0.000000

C -0.948599

C1 0.000000

D 0.091596

E -1.096649

F 0.199346

G 0.856941

H -0.086180

I -2.623903

J 0.271230

dtype:float64

或者,我们可以通过传递参数来指定预定义的选项方法= <预定的方法值>。如果我们需要进行插值,前向填充,向后填充等实例,例如时间序列数据分析,则此方法很方便。

例如:

代码:

一种=系列((NP随机的兰德((10),指数=[[0,,,,2,,,,4,,,,6,,,,8,,,,10,,,,12,,,,14,,,,16,,,,18)))一种

输出:

0 1.036439

1 1.036439

2 -0.841819

3 -0.841819

4 0.629621

5 0.629621

6 -1.905720

7 -1.905720

8 1.673387

9 1.673387

10 0.792506

11 0.792506

12 0.267104

13 0.267104

14 0.759571

15 0.759571

16 -0.847925

17 -0.847925

18 -0.598402

19 -0.598402

dtype:float64

代码:

## Reindex,以便在系列中引入索引1,3,5 ...重新=一种reindex((范围((20))重新

输出:

0 1.036439

1 nan

2 -0.841819

3 nan

4 0.629621

5 nan

6 -1.905720

7 nan

8 1.673387

9 nan

10 0.792506

11 nan

12 0.267104

13 nan

14 0.759571

15 Nan

16 -0.847925

17 Nan

18 -0.598402

19 nan

dtype:float64

代码:

##执行类似的reindex,但具有针对零值的前向填充方法

a_ffill=一种reindex((范围((20),方法='ffill'a_ffill

输出:

0 1.036439

1 1.036439

2 -0.841819

3 -0.841819

4 0.629621

5 0.629621

6 -1.905720

7 -1.905720

8 1.673387

9 1.673387

10 0.792506

11 0.792506

12 0.267104

13 0.267104

14 0.759571

15 0.759571

16 -0.847925

17 -0.847925

18 -0.598402

19 -0.598402

dtype:float64

查看索引1、3和5:已从先前的索引中填充值。

有关Reindexing方法参数的完整列表,请参阅以下链接中可用的文档:

读:PANDAS的系列录入文档[1]

读:PANDAS文档用于数据框架rec索引[2]

删除条目

我们通常需要从大熊猫系列和数据框架中删除数据。您可以使用降低()方法,可用于系列和数据框架。此方法接受索引或索引列表,将从系列和数据框架中删除。

此方法创建一个仅具有所需值的新对象。请注意,此操作不会执行内联行动(即,将在Drop操作后保留原始的PANDAS系列或DataFrame)。实际上,该方法创建了数据的选择性副本。

删除大熊猫系列的条目

让我们看一下如何从大熊猫系列中删除条目。

    • 删除单个索引。

代码:

b=系列((NPArange((10),指数=[['一种',,,,'b',,,,'C',,,,'D',,,,'e',,,,'F',,,,'G',,,,'H',,,,'一世',,,,'J')))b

输出:

A 0

b 1

C 2

D 3

E 4

F 5

G 6

H 7

我8

J 9

dtype:int32

代码:

#Dropping索引b

new_series=b降低(('b'new_series

输出:

A 0

C 2

D 3

E 4

F 5

G 6

H 7

我8

J 9

dtype:int32

    • 删除多个索引。

代码:

#删除多个索引。#for e.g.,a,ge jnew_series_1=b降低[[[['一种',,,,'G',,,,'J')))new_series_1

输出:

b 1

C 2

D 3

E 4

F 5

H 7

我8

dtype:int32

从大熊猫数据框架删除条目

对于数据框,我们指定两个轴的索引:行标签(通过使用索引参数)和列名(通过使用列参数)。

以下代码片段证明了此行为:

    • 从数据框架中删除一行。

代码:

df_states

输出:

jupyter笔记本的屏幕截图,显示了状态名称,缩写,时区,人口和GDP的列。
点击放大图像

代码:

df_states_nont=df_states降低(('nt'df_staes_nont

输出:

jupyter笔记本的屏幕截图。屏幕快照显示了删除行的示例。该行被删除在新约。
点击放大图像

通过传递一系列列索引和轴= 1,从数据框中删除多个列。
代码:
~~~ python
df_states
~~~

输出:

jupyter笔记本电脑的屏幕截图显示了状态名称,缩写,时区,人口和GDP的列。
点击放大图像

代码:

DF1=df_states降低[[[['状态',,,,'区域'],,=1DF1

输出:

jupyter笔记本的屏幕截图。屏幕快照显示了删除倍数列的示例。删除的列是区域和状态。
点击放大图像

代码:

df_states

输出:

jupyter笔记本电脑的屏幕截图显示了状态名称,缩写,时区,人口和GDP的列。
点击放大图像

参考

  1. PANDAS文档用于系列Reindexing [Internet]。熊猫;[日期未知]。可从:https://pandas.pydata.org/pandas-docs/stable/reference/reference/api/pandas.series.reindex.html
  2. PANDAS文档用于DataFrame Reindexing [Internet]。熊猫;[日期未知]。可从:https://pandas.pydata.org/pandas-docs/stable/reference/PARPI/PANDAS.DATAFRAME.REINDEX.HTML
本文来自免费的在线免费

Python数据分析简介

由...制作
FutureLearn-终身学习

我们的目的是改变接受教育的机会。

我们提供来自世界各地的大学和文化机构的各种课程。这些一次是一次交付的一步,并且可以在移动,平板电脑和台式机上访问,因此您可以适合自己的生活。

我们认为,学习应该是一种愉快的社交经验,因此我们的课程为您提供了与他人一起讨论的机会,帮助您做出新的发现并形成新的想法。
您可以通过订阅我们无限制的包裹来解锁新的机会,以无限制地访问数百种在线短课程。电竞博彩app有什么通过顶尖的大学和组织建立知识。dota2竞猜吧

了解有关FutureLearn如何转化接受教育的更多信息