Pandas数据取值与选择


第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

在这里插入图片描述


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值