Py学习  »  Python

python中的数据表示差异

Clauric • 5 年前 • 1846 次点击  

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

当我运行以下代码时:

print (data_1.iloc[1])

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

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

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

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

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

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

不同的是 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]])

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