切片1行 pandas 数据帧时,切片将变成一系列 [英] When slicing a 1 row pandas dataframe the slice becomes a series

查看:66
本文介绍了切片1行 pandas 数据帧时,切片将变成一系列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么当我对仅包含1行的pandas数据框进行切片时,切片会变成pandas系列?
如何保存数据框?

Why when I slice a pandas dataframe containing only 1 row, the slice becomes a pandas series? How can I keep it a dataframe?

df=pd.DataFrame(data=[[1,2,3]],columns=['a','b','c'])
df
Out[37]: 
   a  b  c
0  1  2  3


a=df.iloc[0]

a
Out[39]: 
a    1
b    2
c    3
Name: 0, dtype: int64


推荐答案

重新转换回DataFrame的中间步骤,在建立索引时使用双括号:

To avoid the intermediate step of re-converting back to a DataFrame, use double brackets when indexing:

a = df.iloc[[0]]
print(a)
   a  b  c
0  1  2  3

速度:

%timeit df.iloc[[0]]
192 µs per loop

%timeit df.loc[0].to_frame().T
468 µs per loop

这篇关于切片1行 pandas 数据帧时,切片将变成一系列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆