数值分析基础-pandas(1)

1、    创建一个值为1,3,5,7,9的整型数据类型的Series对象,其索引下标为0,1,2,3,4,请输出该Series对象的数据类型、维度形状大小、以及值的总和。

import pandas as pd
yi = pd.Series([0, 1, 2, 3, 4])
print(yi)
print(yi.ndim)
print(yi.shape)
print(sum(yi))

6f97fe0c9e7548d8a546dfa38e7bf874.png

2、请使用键盘输入的方式对以下数据生成Series对象(字典创建Series),其中第一列为索引名字,第二列为值,并打印该对象的数据类型、维度形状大小以及值的平均值。

import pandas as pd
er=pd.Series({'a':1,'b':2,'c':3,'d':4,'a':5,})
print(er)
print(type(er))
print(er.ndim)
print(er.shape)
print(sum(er))

6bf69a5d91554ea68e2f03dcc2db08e7.png

3、使用numpy创建5个1-10范围内的随机值序列,并转为Series类型,索引值为a,b,c,d,e。完成以下问题:
(1)访问第一个元素的两种方式
(2)访问前两行数据的两种方式
(3)访问第一行和最后行的两种方式
(4)求出随机值中小于5的子序列。

import numpy as np
import pandas as pd
pd.Series(np.random.randint(1,11,size=5,),index=['a','b','c','d','e'])
print(san)
print(san['a'])
print(san[0])
print("------")
print(san[['a','b']])
print(san[0:2])
print("------")
print(san['e'])
print(san[-1])
print(“------“)
print(san[san<5])

4e5453eee0034af2a48297f9074b3b37.png
4、创建一个形状为6x4的DataFrame对象,其中当前日期的等差序列作为索引(如当前日期为:2022-11-03),值为6行4列的正态分布数组,列名为‘A’,’B’,’C’,’D’。 完成下列问题:
提示:创建等差时间序列:pandas.date_range(),创建二维正态分布数组:numpy.random.randn()
比如:

import pandas as pd

si = pd.DataFrame(np.random.randn(6,4), index=pd.date_range(start="2022/11/3",period=6),columns=list('ABCD'))
print(si)
#loc方法是针对DataFrame索引名称的切片方法
#DataFrame.loc[行索引名称或条件, 列索引名称]
print(si.loc['2022-11-03':'2022-11-05'])
#iloc和loc区别是iloc接收的必须是行索引和列索引的位置
#DataFrame.iloc[行索引位置, 列索引位置]
print(si.iloc[0:3])
print(si.loc[['2022-11-04','2022-11-05','2022-11-06','2022-11-07'],['B','C']])
print(si.iloc[1:5,1:3])

(1)    打印出你所创建的DataFrame对象。

1699ac8602524704a83bb11e92f4cc59.png
(2)     分别使用DataFrame的iloc()和loc()方法获取前三行的数据。
 e4f03e3049bb4efd88d6c0b326e44ef1.pngaadc7d29c63b4cf2a567dfe38a64cf22.png
(3)    分别使用DataFrame的iloc()和loc()方法获取第二行第二列到第五行第三列的数据。
 9bfd7b9d643f4494a7ee5ac08ee80ea2.png

5b6a45b4bcf04a4292bd607c73aaa980.png
5、将以下二维数据表创建为DataFrame对象,其中列名为“姓名”,“性别”,“分数”,索引名为’a’,’b’,’c’。其次对三行三列的数据值进行格式化打印,并对分数大于60分的所有行进行打印,再对c行的性别列改为“M”并打印性别为M的行,最后求出三条数据分数列的平均分。
 7e709e62f94e44e38b45b12cad8cc4db.png
三行三列的数据遍历的格式要求:

 489796b23cdc4830a72c4d4c3c1a3c21.png

Import pandas ad pd
wu = pd.DataFrame({'xm': ['xu', 'wang', 'jiang'], 'xb': ['F', 'M', 'F'], 'fs': [58, 78, 83]}, index=['a', 'b', 'c'])
print(wu)
print(wu[wu['fs'] > 60])
wu.loc['c','xb']='M'
print(wu)


6、使用以下字典数据创建一个DataFrame对象,其索引值为'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'。请完成以下要去的操作。
字典数据为:{'animal': ['cat', 'cat', 'snake', 'dog', 'dog', 'cat', 'snake', 'cat', 'dog', 'dog'], 'age': [2.5, 3, 0.5, np.nan, 5, 2, 4.5, np.nan, 7, 3],'visits': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}

Import pandas ad pd
wu = pd.DataFrame({'xm': ['xu', 'wang', 'jiang'], 'xb': ['F', 'M', 'F'], 'fs': [58, 78, 83]}, index=['a', 'b', 'c'])
print(wu)
print(wu[wu['fs'] > 60])
wu.loc['c','xb']='M'
print(wu)

(1)    请取出该DataFrame对象中的animal和age列
 0cdd3e8d09194a5e9d0ad0d83f604751.png
(2)    取出索引为[3, 4, 8]行的animal和age列
 1729a3e0a5be4bc0a5b256cf6abfd388.png
(3)取出age值大于3的行
 6c5ce734ddb84eb78571ce5eb275f004.png
(4)取出age值缺失的行
 f46e45a421104fa0ac7842fbde4b586b.png
(5)统计数据中有缺失值的行数
 d7024a0f5ba34ac68cc9588ecbe1249c.png
(6)将f行的age改为1.5
 76223ab56a2643f1b24e1c72d546cb15.png
(7)计算visits的总和
 2f30f8c7998f4175ad54470c66710fb2.png
(8)在df中插入新行k,然后删除该行
#插入
df.loc['k'] = [5.5, 'dog', 'no', 2]
# 删除
df = df.drop('k')

 请指正

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值