【Analyse et visualisation des données】 Compréhension approfondie des séries et DataFrame

Peut être compris comme une série de
DataFrame unidimensionnels bidimensionnels (plusieurs séries)

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]}

Séries

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')

Trame de données

# 通过字典创建数据框
df1 = pd.DataFrame(data)
df1
Nom âge tel
0 Zhangsan 11 158
1 lyse 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
Nom Zhangsan lyse wangwu wangma zhaoliu
âge 11 12 13 14 14
tel 158 169 173 158 110
# 转置
df_new = df_new.T
df_new
Nom âge tel
0 Zhangsan 11 158
1 lyse 12 169
2 wangwu 13 173
3 wangma 14 158
4 zhaoliu 14 110
df1
Nom âge tel
0 Zhangsan 11 158
1 lyse 12 169
2 wangwu 13 173
3 wangma 14 158
4 zhaoliu 14 110
Publié 234 articles originaux · J'aime 164 · Plus de 140 000 visites

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43469680/article/details/105564583
conseillé
Classement