DataFrame结构Python练习题以及答案

news/2024/10/23 9:38:16/

项目一:

1.写出以下代码的输出结果:

代码如下:

2.写出以下代码的输出结果。

代码如下:

 

  1. 根据df创建透视表:

import pandas as pd

import numpy as np

df = pd.DataFrame({"Item":['Item0', 'Item0', 'Item1', 'Item1'],'CType':['Gold', 'Bronze', 'Gold', 'Silver'],'USD':[1,2,3,4],'EU': [1,2,3,4]})

print(df)

输出格式如下:

4.

根据题目要求完成如下操作:

 (1)创建一个第五个值为0的1向量,长度为10.

(2)反转(1)中的数组

(3)数组中有1,2,3,4,5,6,7,8,9个数值,直接提取所有的奇数。

(4)将(3)中所有的奇数用-1替代。

项目二:

1.写出以下代码的输出结果

代码如下:

2.写出以下代码的输出结果,ABCDEFGHI处的结果

代码如下:

 项目利用字典 data 和列表 labels 完成以下操作。

已知:

from copy import deepcopy

import pandas as pd

import numpy as np

data = {'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',np.nan,'no','yes','no','no','no','yes','no','no']}

labels = ['a','b','c','d','e','f','g','h','i','j']

1.创建 DataFrame 类型 df,输出格式如下:

2.输出 df 的前三行,并输出所有 visits 属性值大于 2 的所有行

输出格式如下:

3.输出age为缺失值所在的行,输出'age'与'animal'两列数据。

输出格式如下:

4.输出 animal==cat 且 age<3 的所有行,并将行为”f”,列为”age”的元素值修改为 1

(5)计算 animal 列一共出现几种动物

(6)将 animal 列中所有 snake 替换为 panda

(7)对 df 按列 animal 进行排序,并打印df

(8)在 df 的在后一列后添加一列列名为 No.数据 0,1,2,3,4,5,6,7,8,9,并输出df

(9)对 df 中的'visits'列求平均值以及乘积、和

(10)将 animal 对应的列中所有字符串字母变为大写

 

  1. 利用深复制方式创建 df 的副本 df2 并将其所有缺失值填充为 3,并输出df2
  2. 利用深复制方式创建 df 的副本 df3 并将其删除缺失值所在的行,并输出df3

答案:

import pandas as pd
import numpy as np
pd.set_option('display.unicode.east_asian_width',True)
pd.set_option('display.unicode.ambiguous_as_wide',True)print()
print("第一题")
df = pd.DataFrame([[np.nan, 2, np.nan, np.nan], [3, 4, 88, np.nan],[np.nan, np.nan, np.nan, 'k'], [np.nan, 3, np.nan, np.nan]],columns=list("ABCD"))
print(df)print()
print("第二题")
dff = pd.DataFrame({"A": [np.nan, 2, np.nan, np.nan], "B": [3, 4, 88, np.nan],"C": [np.nan, np.nan, np.nan, 'k'], "D": [np.nan, 3, np.nan, np.nan]})
print(dff)print()
print("第三题")
df = pd.DataFrame({"Item": ['Item0', 'Item0', 'Item1', 'Item1'], 'CType': ['Gold', 'Bronze', 'Gold', 'Silver'], 'USD': [1, 2, 3, 4],'EU': [1, 2, 3, 4]})
print(df)print()
print("第四题")
number4 = np.ones(10)
number4[4] = 0
print("数组向量", number4)
print("反转数组中的元素", number4[::-1])
number41 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
list4 = []
for i in number41:if i % 2 == 1:list4.append(i)
number42 = np.array(list4)
print(number42)
for i in range(len(number41)):if number41[i] % 2 == 1:number41[i] = -1
print("将数组中的所有奇数替换成-1", number41)print()
print("第五题")
index = pd.date_range('1/1/2022', periods=9, freq='T')
series = pd.Series(range(9), index=index)
print(series)
print(series.resample('3T').sum())print()
print("第六题")
s = pd.Series(data=[80, 90, 100], index=['语文', '数学', '英语'])
for x in s:print(x, end=" ")
print("")
print(s['语文'], s[1])
print(s[0:2]['数学'])
print(s['数学':'英语'][1])
for i in range(len(s.index)):print(s.index[i], end=" ")
s['体育'] = 110
s.pop('数学')
s2 = s.append(pd.Series(120, index=['政治']))  # 不改变s
print(s2['语文'], s2['政治'])
print(list(s2))
print(s.sum(), s.min(), s.mean(), s.median())
print(s.idxmax(), s.argmax())print()
print("第七题")
from copy import deepcopy
data = {'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',np.nan,'no','yes','no','no','no','yes','no','no']}
labels = ['a','b','c','d','e','f','g','h','i','j']
df7 = pd.DataFrame(data,index=labels)
print(df7)print("df的前三行".ljust(20,'='))
print(df7[:3])print("df中visits属性大于2的值".ljust(20,'='))
print(df7[df7['visits']>2])
print("age为缺失值的行".ljust(20,'='))
print(df7[df7['age'].isnull()])print("输出age和animal两列数据".ljust(20,'='))
print(df7[['age','animal']])print("输出 animal==cat 且 age<3 的所有行,并将行为”f”,列为”age”的元素值修改为 1.5".ljust(20,"="))
df7.loc[['f'],['age']]=1.5
print(df7[(df7.animal=='cat')&(df7['age']<3)])print("计算animal有几种动物".ljust(20,'='))
print("出现次数", len(df7['animal'].unique()))print("将animal中所有snake替换为panda".ljust(20,'='))
df7.loc[df7['animal']=='snake','animal']='panda'
print(df7)
print("对 df 按列 animal 进行排序,并打印df".ljust(20,'='))
print(df7.sort_values(by=['animal'],ascending=True))print("在 df 的在后一列后添加一列列名为 No.数据 0,1,2,3,4,5,6,7,8,9,并输出df".ljust(20,'='))
dff = deepcopy(df7.sort_values(by=['animal'],ascending=True))
dff['NO']=[0,1,2,3,4,5,6,7,8,9]
print(dff)print("对 df 中的'visits'列求平均值以及乘积、和".ljust(20,'='))
print("visits的平均值",dff["visits"].mean())
print("visits的成绩",dff["visits"].prod())
print("visits的和",dff["visits"].sum())print("将 animal 对应的列中所有字符串字母变为大写".ljust(20,'='))
dff['animal']=dff['animal'].str.upper()
print(dff)print("利用深复制方式创建 df 的副本 df2 并将其所有缺失值填充为 3,并输出df2".ljust(20,'='))
df2 = deepcopy(dff)
print(df2.fillna(value='3'))print("利用深复制方式创建 df 的副本 df3 并将其删除缺失值所在的行,并输出df3".ljust(20,'='))
df3 = deepcopy(dff)
print(df3.dropna(how='any'))


http://www.ppmy.cn/news/752183.html

相关文章

数据科学篇: Pandas库的使用

文章目录 SeriesDataFrame数据清洗数据间的空格使用 apply 函数对数据进行清洗数据统计数据表合并如何用 SQL 方式打开 Pandaspivot_table函数icol和col 取范围分层索引 在数据分析工作中&#xff0c;Pandas 的使用频率是很高的&#xff0c;一方面是因为 Pandas 提供的基础数据…

第5章 合并

第5章 合并 import numpy as np import pandas as pd df pd.read_csv(data/table.csv) df.head()# import numpy as np # import pandas as pd # dfpd.read_csv(data/table.csv) # df.head()SchoolClassIDGenderAddressHeightWeightMathPhysics0S_1C_11101Mstreet_11736334.…

Python数据特征分析_01(MOOC学习时长分析)

本篇博客使用到的数据如下&#xff1a;通过分析每个学生的学习时长来分析学生的学习稳定性。 &#xff08;共有115人&#xff0c;每个人记录了11次的学习数据&#xff09; 文章目录 一、分布分析1、定量数据分布分析2、绘制频率图 二、对比分析1、绝对数对比2、差值折线图3、…

Python Pandas 详细 查看 处理 汇总

参考:https://www.runoob.com/pandas/pandas-tutorial.html 1 . 安装 pip install pandas2 . Series Series 由索引&#xff08;index&#xff09;和列组成 pandas.Series( data, index, dtype, name, copy)import pandas as pd创建 ## 1 导入模块 import pandas as pd imp…

python之pandas学习笔记

一、概念 pandas 是基于NumPy 的一种工具&#xff0c;该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型&#xff0c;提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现&#xff…

FSSR : Frequency Separation for Real-World Super-Resolution

文章目录 Abstract1. Introduction2. Related Work3. Proposed Method3.1. Real-World Super-Resolution3.2. Downsampling with Domain TranslationNetwork Architectures 3.3. Frequency SeparationLoss Functions 3.4. Frequency Separation for Super-Resolution 4. Experi…

Python之RFM建模分析

1、RFM模型的含义 RFM模型是衡量客户价值和客户创利能力的重要工具和手段。在众多的客户关系管理(CRM)的分析模式中&#xff0c;RFM模型是被广泛提到的。   该模型通过一个客户的近期购买行为、购买的总体频率(F)以及花了多少钱(M)三项指标来描述该客户的价值状况&#xff0c…

pandas基础数据结构

一、数据框计算 &#xff08;一&#xff09;基础运算函数 方法描述add加&#xff08;&#xff09;sub减&#xff08;-&#xff09;mul乘&#xff08;*&#xff09;div除&#xff08;/&#xff09;floordiv整除&#xff08;//&#xff09;pow幂次方&#xff08;**&#xff09;…