社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python中的数据表示差异

Clauric • 4 年前 • 1050 次点击  

希望对我的问题有一个相当简单的答案。

当我运行以下代码时:

print (data_1.iloc[1])

我得到了数据的一个很好的垂直表示,每个列的值头,其值显示在单独的行上。这在查看两组数据并试图找到差异时非常有用。

但是,当我将代码编写为:

print (data_1.loc[data_1["Name"].isin(["John"])])

我得到了屏幕上排列的所有信息,列标题在一行,值在另一行。

我的问题是: 是否有任何方法可以使用第二个代码,并获得相同的数据垂直表示?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52821
 
1050 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Dan
Reply   •   1 楼
Dan    4 年前

不同的是 data_1.iloc[1] 返回熊猫 Series 鉴于 data_1.loc[data_1["Name"].isin(["John"])] 返回 DataFrame . Pandas对这两种数据类型有不同的表示(即它们的打印方式不同)。

原因 iloc[1] 给你一个 系列 是因为你用标量索引了它。如果你这样做了 data_1.iloc[[1]] 你会看到你得到一个 数据帧 相反。相反,我假设 data_1["Name"].isin(["John"]) 正在返回集合。如果你想得到一个 系列 相反,你可以试试

print(data_1.loc[data_1["Name"].isin(["John"])[0]])

但前提是你确定你得到了一个元素。