python

箱线图

箱线图(box plot): 可视化基本的统计数据,如离群值、最小/最大值,四分位值等

  • 更多详细的讲解请点击这个链接

In [42]:

data.boxplot(column=['Attack','Defense'])
plt.show()
# 动手实践一下
data.boxplot(column=['Attack','Defense'])
plt.show()

python_第1张图片

In [43]:

# 加入分类数据列‘Legendary’
data.boxplot(column='Attack',by='Legendary')
plt.show()

python_第2张图片

重塑数据

我们使用melt()函数来转换数据的行列。

参数:

  • pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)
  • frame:要处理的数据集。
  • id_vars:不需要被转换的列名。
  • value_vars:需要转换的列名,如果剩下的列全部都要转换,就不用写了。
  • var_name和value_name是自定义设置对应的列名。

我们直接看下面的示例来理解melt()。

In [44]:

# 从pokemon数据中创建一组新的数据
data_new = data[10:15]    # 取10-14行共5行数据来构建新数据表
data_new

Out[44]:

# Name Type 1 Type 2 Total HP Attack Defense Sp. Atk Sp. Def Speed Generation Legendary
10 8 Wartortle Water NaN 405 59 63 80 65 80 58 1 False
11 9 Blastoise Water NaN 530 79 83 100 85 105 78 1 False
12 9 BlastoiseMega Blastoise Water NaN 630 79 103 120 135 115 78 1 False
13 10 Caterpie Bug NaN 195 45 30 35 20 20 45 1 False
14 11 Metapod Bug NaN 205 50 20 55 25 25 30 1 False

In [45]:

# 使用一下melt()函数
# frame:要处理的数据集
# id_vars:不需要被转换的列名
# value_vars :需要转换的列名
melted = pd.melt(frame=data_new,id_vars = 'Name', value_vars= ['Attack','Defense'])
melted

Out[45]:

Name variable value
0 Wartortle Attack 63
1 Blastoise Attack 83
2 BlastoiseMega Blastoise Attack 103
3 Caterpie Attack 30
4 Metapod Attack 20
5 Wartortle Defense 80
6 Blastoise Defense 100
7 BlastoiseMega Blastoise Defense 120
8 Caterpie Defense 35
9 Metapod Defense 55

数据透视表

pivot()函数根据列值重塑数据,生成“数据透视表”。

参数:

  • DataFrame.pivot_table(index=None, columns=None, values=None)
  • index: 重塑的新表的索引名称是什么
  • columns:重塑的新表的列名称是什么
  • values: 生成的新列中的值是什么

看起来可能有点迷惑,我们直接看下面的例子

In [46]:

# 我希望能根据上面的'melted'数据表生成一张新表
# 新表可以显示口袋妖怪的名字,及对应的防御值和攻击值

# 设置index为'Name'
# 设置columns为'variable'
# 设置values为value

# 看一看新的数据表是否按照我们的想法显示
melted.pivot(index = 'Name', columns = 'variable',values='value')

Out[46]:

variable Attack Defense
Name
Blastoise 83 100
BlastoiseMega Blastoise 103 120
Caterpie 30 35
Metapod 20 55
Wartortle 63 80

数据连接

接下来我们学习如何将两个dataframe连接在一起。

In [47]:

# 首先生成两个新的dataframe
data1 = data.head(3)
data2= data.tail(3)
# 使用comcat()函数将两个表拼接在一起
conc_data_row = pd.concat([data1,data2],axis =0,ignore_index =True) # axis = 0 : 行拼接,即纵向拼接
conc_data_row

后面就靠大家自己操作啦,多研究研究会有成长滴。 

你可能感兴趣的:(python学习笔记,python,pandas,开发语言)