(二)Pandas——DataFrame对象

DataFrame对象

DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

构造方法:

  • pandas.DataFrame( data, index, columns, dtype, copy)

参数说明:

  • data:一组数据(ndarray、series, map, lists, dict 等类型)。

  • index:索引值,或者可以称为行标签。

  • columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。

  • dtype:数据类型。

  • copy:拷贝数据,默认为 False。

Pandas DataFrame 是一个二维的数组结构,类似二维数组。

实例-创建

import pandas as pd
# 列表方式创建DataFrame对象
data=[['小太阳',320.9,100],['鼠标',150.3,50],['小刀',1.5,200]]
columns=['名称','单价','数量']
df=pd.DataFrame(data=data,columns=columns)
print(df)
'''
    名称     单价   数量
0  小太阳  320.9  100
1   鼠标  150.3   50
2   小刀    1.5  200
'''
print(type(df))  # <class 'pandas.core.frame.DataFrame'>

# 字典方式创建DataFrame对象--方法一
data={
    '名称':['小太阳','鼠标','小刀'],
    '单价':[320.9,150.3,1.5],
    '数量':[100,50,200],
    '公司名称':'东门超市'
}
df1=pd.DataFrame(data=data)
print(df1)
'''
    名称     单价   数量  公司名称
0  小太阳  320.9  100  东门超市
1   鼠标  150.3   50  东门超市
2   小刀    1.5  200  东门超市
'''

# 字典方式创建DataFrame对象--方法二
data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}]
df2 = pd.DataFrame(data)
print (df2)
'''
   a   b     c
0  1   2   NaN
1  5  10  20.0
'''
# 没有对应的部分数据为 NaN。

DataFrame的重要属性

序号属性描述
1values查看所有元素的值,返回ndarray对象
2dtypes查看所有元素的类型
3index查看所有行名、重命名行名
4columns查看所有列名、重命名列名
5T行列数据转换
6head查看前N条数据,默认5条
7tail查看后N条数据,默认5条
8shape查看行数和列数shape[0]表示行,shape[1]表示列
9info查看索引、数据类型和内存信息

实例:

import pandas as pd
data=[['小太阳',320.9,100],['鼠标',150.3,50],['小刀',1.5,200]]
columns=['名称','单价','数量']
df=pd.DataFrame(data=data,columns=columns)
print(df)
'''
    名称     单价   数量
0  小太阳  320.9  100
1   鼠标  150.3   50
2   小刀    1.5  200
'''

print('查看所有元素的值\n',df.values,type(df.values))
'''
 [['小太阳' 320.9 100]
 ['鼠标' 150.3 50]
 ['小刀' 1.5 200]] <class 'numpy.ndarray'>
'''

print('查看所有元素的类型\n',df.dtypes)
'''
名称     object
单价    float64
数量      int64
dtype: object
'''

print('查看所有行名称\n',list(df.index),type(df.index))
'''
[0, 1, 2] <class 'pandas.core.indexes.range.RangeIndex'>
'''

df.index=[1,2,3]  # 设置行标签
print(df)
'''
    名称     单价   数量
1  小太阳  320.9  100
2   鼠标  150.3   50
3   小刀    1.5  200
'''

print('查看列索引\n',df.columns)
#  Index(['名称', '单价', '数量'], dtype='object')
df.columns=['商品名称','最新单价','实时数量']  # 设置列标签
print(df)
'''
  商品名称   最新单价  实时数量
1  小太阳  320.9   100
2   鼠标  150.3    50
3   小刀    1.5   200
'''
# 行列数据的转换
pd.set_option('display.unicode.east_asian_width',True) # 规整 格式
new_df=df.T
print(new_df)
'''
               1      2     3
商品名称  小太阳   鼠标  小刀
最新单价   320.9  150.3   1.5
实时数量     100     50   200
'''
print('查看前N条数据\n',df.head(1))
'''
   商品名称  最新单价  实时数量
1   小太阳     320.9       100
'''
print('查看后N条数据\n',df.tail(1))
'''
   商品名称  最新单价  实时数量
3     小刀       1.5       200
'''

DataFrame的重要函数

序号函数描述
1describe()查看每列的统计汇总信息,DataFrame类型
2count()返回每一列的非空值的个数
3sum()返回每一列的和,无法计算返回空值
4max()返回每一列的最大值
5min()返回每一列的最小值
import pandas as pd
data=[['sun',320.9,100],['mouse',150.3,50],['knife',1.5,200]]
columns=['名称','单价','数量']
df=pd.DataFrame(data=data,columns=columns)
print(df)
'''
      名称     单价   数量
0    sun  320.9  100
1  mouse  150.3   50
2  knife    1.5  200
'''

print(df.describe())
'''
               单价          数量
count    3.000000    3.000000
mean   157.566667  116.666667
std    159.823945   76.376262
min      1.500000   50.000000
25%     75.900000   75.000000
50%    150.300000  100.000000
75%    235.600000  150.000000
max    320.900000  200.000000
'''

print(df.count())  
'''
名称    3
单价    3
数量    3
dtype: int64
'''

print(df.sum())  # 名称字符串也会求和放到一起
'''
名称    sunmouseknife
单价            472.7
数量              350
dtype: object
'''

print(df.max())
'''
名称      sun
单价    320.9
数量      200
dtype: object
'''

print(df.min())
'''
名称    knife
单价      1.5
数量       50
dtype: object
'''

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值