文章目录
- 第1关:Series数据选择
- 第2关:DataFrame数据选择方法
第1关:Series数据选择
编程要求
本关的编程任务是补全右侧上部代码编辑区内的相应代码,要求实现如下功能:
添加一行数据,时间戳2019-01-29值为320;
获取2019-01-04号之后的数据(包含该日期);
最后筛选值大于100的数据,得到以下目标Series对象;
2019-01-06 981
2019-01-11 647
2019-01-17 198
2019-01-20 1698
2019-01-21 7496
2019-01-24 8201
2019-01-29 320
dtype: int64
具体要求请参见后续测试样例。
提示:使用to_datetime()函数可以将字符串转换成时间戳。
pd.to_datetime(‘2019-01-01’)
请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!
测试说明
平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。
测试输入:
np.array([4,9,4,3,1,981,13,6,46,1,647,64,31,46,46,13,198,76,13,1698,7496,2,100,8201,30])
预期输出:
2019-01-06 981
2019-01-11 647
2019-01-17 198
2019-01-20 1698
2019-01-21 7496
2019-01-24 8201
2019-01-29 320
dtype: int64
开始你的任务吧,祝你成功!
示例代码如下:
import pandas as pd
import numpy as np
arr = input()
dates = pd.date_range('20190101', periods=25) # 生成时间序列
df = pd.Series(eval(arr),index=dates)
#完成编程要求,并输出结果
#********** Begin **********#
df[pd.to_datetime('2019-01-29')]=320
a = df['2019-01-04'::]
print(a[a>100])
#********** End **********
第2关:DataFrame数据选择方法
编程要求
本关的编程任务是补全右侧上部代码编辑区内的相应代码,要求实现如下功能:
完成下列要求。初始DataFrame如图所示:
根据相关知识介绍的取值方法将初始DataFrame转换成下图所示DataFrame,并输出:
Florida Washington
deaths 616 62
deserters 2 31
readiness 3 3
regiment Nighthawks Dragoons
size 1400 849
veterans 26 48
具体要求请参见后续测试样例。
请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!
测试说明
平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。
测试输入:
无测试输入
预期输出:
Florida Washington
deaths 616 62
deserters 2 31
readiness 3 3
regiment Nighthawks Dragoons
size 1400 849
veterans 26 48
开始你的任务吧,祝你成功!
示例代码如下:
import pandas as pd
def demo(raw_data,origin):
df = pd.DataFrame(raw_data,index=origin)
#转换成编程要求所示DataFrame, 并输出
#********** Begin **********#
print(df.loc[['Florida','Washington'],'deaths':].T)
#********** End **********#
return