首页
学习
活动
专区
圈层
工具
发布

【数据分析与可视化】Pandas绘图之DataFrame

代码语言:javascript
复制
import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt
from pandas import Series,DataFrame
代码语言:javascript
复制
df = DataFrame(
    # 范围1~10取40个
    np.random.randint(1,10,40).reshape(10,4),
    columns=['A','B','C','D']
)
df

A

B

C

D

0

4

6

4

2

1

8

6

5

3

2

5

4

6

3

3

9

5

9

4

4

6

8

5

2

5

5

9

2

6

6

9

4

9

4

7

9

3

2

1

8

1

3

4

7

9

6

3

4

9

代码语言:javascript
复制
# 按列名画图
# 默认按DataFrame每列画一条曲线
# 参数和Series一样可以设置
df.plot(kind='barh')
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x119f0a850>
代码语言:javascript
复制
# 图像堆叠
df.plot(kind='bar', stacked=True)
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x119585cd0>
代码语言:javascript
复制
# 填充方式
df.plot(kind='area')

<matplotlib.axes._subplots.AxesSubplot at 0x119922c90>

代码语言:javascript
复制
# 除了上述对列取值,对行取值
a = df.iloc[5]
a
代码语言:javascript
复制
A    5
B    9
C    2
D    6
Name: 5, dtype: int64
代码语言:javascript
复制
type(a)
代码语言:javascript
复制
pandas.core.series.Series
代码语言:javascript
复制
# 某一行取值
df.iloc[5].plot()
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x11b5daa90>
代码语言:javascript
复制
# 取所有的行
for i in df.index:
    df.iloc[i].plot(label = str(i))
plt.legend()
代码语言:javascript
复制
<matplotlib.legend.Legend at 0x11b4ed790>
代码语言:javascript
复制
# 更简单的取所有行操作 转置
df.T.plot()

<matplotlib.axes._subplots.AxesSubplot at 0x11f1733d0>

代码语言:javascript
复制
# 取一列
df['A'].plot()
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x11ae7fc10>
举报
领券