【Data Analysis and Visualization】 In-depth understanding of Series and DataFrame

Can be understood as a series of one-dimensional
dataFrame composed of two-dimensional

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

Series

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

DataFrame

# 通过字典创建数据框
df1 = pd.DataFrame(data)
df1
name age tel
0 zhangsan 11 158
1 lysis 12 169
2 wangwu 13 173
3 wangma 14 158
4 zhaoliu 14 110
# 取一列
df1['name']
0    zhangsan
1        lisi
2      wangwu
3      wangma
4     zhaoliu
Name: name, dtype: object
# 数据框某一列的类型为Series
type(df1['name'])
pandas.core.series.Series
# 访问一行(generator生成器->for循环取行数据)
df1.iterrows()
<generator object DataFrame.iterrows at 0x11757d950>
# 每一行的类型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
(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'>
# 组合Series创建DataFrame
s1 = pd.Series(data['name'])
s2 = pd.Series(data['age'])
s3 = pd.Series(data['tel'])
# 效果是原数据转置
df_new = pd.DataFrame([s1,s2,s3],index=['name','age','tel'])
df_new
0 1 2 3 4
name zhangsan lysis wangwu wangma zhaoliu
age 11 12 13 14 14
tel 158 169 173 158 110
# 转置
df_new = df_new.T
df_new
name age tel
0 zhangsan 11 158
1 lysis 12 169
2 wangwu 13 173
3 wangma 14 158
4 zhaoliu 14 110
df1
name age tel
0 zhangsan 11 158
1 lysis 12 169
2 wangwu 13 173
3 wangma 14 158
4 zhaoliu 14 110
Published 234 original articles · Like 164 · Visits 140,000+

Guess you like

Origin blog.csdn.net/weixin_43469680/article/details/105564583