首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【数据分析与可视化】深入理解Series和DataFrame

可以理解为Series一维组成 DataFrame二维(多个Series组成)

代码语言:javascript
复制
import numpy as np
import pandas as pd
代码语言:javascript
复制
data = {'name':['zhangsan','lisi','wangwu','wangma','zhaoliu'],
       'age':[11,12,13,14,14,],
       'tel':[158,169,173,158,110]}

Series

代码语言:javascript
复制
s1 = pd.Series(data['name'])
s1
代码语言:javascript
复制
0    zhangsan
1        lisi
2      wangwu
3      wangma
4     zhaoliu
dtype: object
代码语言:javascript
复制
# values返回array类型
s1.values
代码语言:javascript
复制
array(['zhangsan', 'lisi', 'wangwu', 'wangma', 'zhaoliu'], dtype=object)
代码语言:javascript
复制
# index默认类型数字
s1.index
代码语言:javascript
复制
RangeIndex(start=0, stop=5, step=1)
代码语言:javascript
复制
# 初始化定义索引
s1 = pd.Series(data['name'],index=['A','B','C','D','E'])
s1
代码语言:javascript
复制
A    zhangsan
B        lisi
C      wangwu
D      wangma
E     zhaoliu
dtype: object
代码语言:javascript
复制
# 索引类型为自定义的效果
s1.index
代码语言:javascript
复制
Index(['A', 'B', 'C', 'D', 'E'], dtype='object')

DataFrame

代码语言:javascript
复制
# 通过字典创建数据框
df1 = pd.DataFrame(data)
df1

name

age

tel

0

zhangsan

11

158

1

lisi

12

169

2

wangwu

13

173

3

wangma

14

158

4

zhaoliu

14

110

代码语言:javascript
复制
# 取一列
df1['name']
代码语言:javascript
复制
0    zhangsan
1        lisi
2      wangwu
3      wangma
4     zhaoliu
Name: name, dtype: object
代码语言:javascript
复制
# 数据框某一列的类型为Series
type(df1['name'])
代码语言:javascript
复制
pandas.core.series.Series
代码语言:javascript
复制
# 访问一行(generator生成器->for循环取行数据)
df1.iterrows()
代码语言:javascript
复制
<generator object DataFrame.iterrows at 0x11757d950>
代码语言:javascript
复制
# 每一行的类型class 'tuple' 长2(行两部分组成:索引int型,内容Series型)
for row in df1.iterrows():
    print(row),print(type(row)),print(len(row))
    print(row[0],row[1])
    print(type(row[0]),type(row[1]))
    break
代码语言:javascript
复制
(0, name    zhangsan
age           11
tel          158
Name: 0, dtype: object)
<class 'tuple'>
2
0 name    zhangsan
age           11
tel          158
Name: 0, dtype: object
<class 'int'> <class 'pandas.core.series.Series'>
代码语言:javascript
复制
# 组合Series创建DataFrame
s1 = pd.Series(data['name'])
s2 = pd.Series(data['age'])
s3 = pd.Series(data['tel'])
代码语言:javascript
复制
# 效果是原数据转置
df_new = pd.DataFrame([s1,s2,s3],index=['name','age','tel'])
df_new

0

1

2

3

4

name

zhangsan

lisi

wangwu

wangma

zhaoliu

age

11

12

13

14

14

tel

158

169

173

158

110

代码语言:javascript
复制
# 转置
df_new = df_new.T
df_new

name

age

tel

0

zhangsan

11

158

1

lisi

12

169

2

wangwu

13

173

3

wangma

14

158

4

zhaoliu

14

110

代码语言:javascript
复制
df1

name

age

tel

0

zhangsan

11

158

1

lisi

12

169

2

wangwu

13

173

3

wangma

14

158

4

zhaoliu

14

110

下一篇
举报
领券