Pandas Task2

本文探讨了Pandas中如何更改列或行顺序,交换奇偶行,选择DataFrame子集,利用query函数与其他索引方法,查找缺失值,处理多级索引,以及在UFO和口袋妖怪数据集中应用Pandas解决问题,如数据筛选、属性分析等。
摘要由CSDN通过智能技术生成

Pandas Task2 索引

1.问题

【问题一】 如何更改列或行的顺序?如何交换奇偶行(列)的顺序?¶

用reindex参数

# 创建一个DataFrame
df = pd.DataFrame({
   'a':[1, 2, 3 ,4], 'b': [5, 6, 7, 8], 'c':[9, 10, 11, 12], 'd':[13, 14, 15, 16]})
df.reindex([1, 3, 0, 2]) # 默认行交换
df.reindex(columns=['d', 'a', 'b', 'c']) # 列交换

【问题二】 如果要选出DataFrame的某个子集,请给出尽可能多的方法实现。

loc、iloc、[]都可以实现

【问题三】 query函数比其他索引方法的速度更慢吗?在什么场合使用什么索引最高效?¶

相较于其他的索引方法速度比较慢,推荐使用eval快速索引,应该是在数据不大的时候使用

【问题四】 单级索引能使用Slice对象吗?能的话怎么使用,请给出一个例子。

可以

idx = pd.IndexSlice
df.loc[idx[1], :]

a 2
b 6
c 10
d 14
Name: 1, dtype: int64

【问题五】 如何快速找出某一列的缺失值所在索引?

df_1 = pd.DataFrame({
   'a':[1, 2, 3 ,4], 'b': [5, 6, 7, 8], 'c':[9, 10, 11, 12], 'd':
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值