pandas基础之dataframe和series的结构,创建及属性

dataframe和series的创建

import pandas as pd
import numpy as np

# 可以使用 pd.DataFrame来创建DataFrame结构
# 1、将大字典转化为df
df = pd.DataFrame(
    data={
        'name': ['zs', 'ls', 'ww'],
        'age': [16, 17, 16],
        'group': [1, 2, 1]
    },
    index=['stu0', 'stu1', 'stu2']  # 行索引
)
print('df:\n', df)
print('df:\n', type(df))  # <class 'pandas.core.frame.DataFrame'>

# 2、可以将列表嵌套转化为df
df = pd.DataFrame(
    data=[['zs', 16, 1],
          ['ls', 17, 2],
          ['ww', 16, 1]],
    index=['stu0', 'stu1', 'stu2'],  # 行索引
    columns=['name', 'age', 'group']  # 列索引
)
print('df:\n', df)
print('df:\n', type(df))

# 3、也可以将二维的ndarray转化为df


# 可以使用pd.Series来创建一个Series结构
# 1、可以将简单列表转化为Series
se = pd.Series(data=['zs', 'ls', 'ww'],
               index=['stu0', 'stu1', 'stu2']  # 行索引
               )
print('se:\n', se)
print('se:\n', type(se))  # <class 'pandas.core.series.Series'>

# 2、可以将一维ndarray转化为Series
se = pd.Series(data=np.array(['zs', 'ls', 'ww']),
               index=['stu0', 'stu1', 'stu2']  # 行索引
               )
print('se:\n', se)
print('se:\n', type(se))  # # <class 'pandas.core.series.Series'>

# 3、可以将字典转化为Series
se = pd.Series(
    data={'zs': 95, 'ls': 89, 'ww': 91},
    index=['zs', 'ls', 'ww', 'zl']
)
print('se:\n', se)
print('se:\n', type(se))

# 可以通过获取DataFrame中单列数据,来得到Series结构
# 4、获取dataframe中一列数据
se = df['name']
print('se:\n', se)
print('se:\n', type(se))

运行结果
dataframe有行索引和列索引
在这里插入图片描述
series只有行索引,没有列索引
在这里插入图片描述

dataframe和series的属性

import pandas as pd

# 创建dataframe
df = pd.DataFrame(data=[['zs', 17, 187.5, 1],
                        ['ls', 18, 173.5, 1],
                        ['ww', 19, 175.0, 2],
                        ['zl', 18, 177, 2]],
                  index=['stu0', 'stu1', 'stu2', 'stu3'],
                  columns=['name', 'age', 'hight', 'group']
                  )
print('df:\n', df)
print('df的维度:', df.ndim)
print('df的形状:', df.shape)
print('df的元素个数:', df.size)  # 元素个数,不算行、列索引,只算数据
print('df的元素的数据类型:\n', df.dtypes)  # 没有dtype,只有dtypes,返回的各列的数据类型
# print('df的元素的数据类型:\n', df.dtype)  # 错误的,没有dtype,只有dtypes,返回的各列的数据类型
# print('df的元素的占位大小:', df.itemsize)  # 错误的,没有itemsize,

print('df的行索引:\n', df.index)
print('df的列索引:\n', df.columns)
# 可以通过df.values获取df中保存的ndarray
print('df的数据:\n', df.values)
print('df的数据的数据类型:\n', type(df.values))

# 获取一列数据 得到Series
se = df['age']
print('se:\n', se)
print('se:\n', type(se))
print('se的维度:', se.ndim)
print('se的形状:', se.shape)
print('se的元素个数:', se.size)
print('se 元素的数据类型:\n', se.dtype)
print('se 元素的数据类型:\n', se.dtypes)
# print('se 元素的占位大小:\n', se.itemsize)  # 该版本没有该属性

print('se 的行索引:\n', se.index)  # 只有行索引
print('se 的数据:\n', se.values)  # 一维数组

# 修改元素类型---astype

结果
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值