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':