希望对我的问题有一个相当简单的答案。
当我运行以下代码时:
print (data_1.iloc[1])
我得到了数据的一个很好的垂直表示,每个列的值头,其值显示在单独的行上。这在查看两组数据并试图找到差异时非常有用。
但是,当我将代码编写为:
print (data_1.loc[data_1["Name"].isin(["John"])])
我得到了屏幕上排列的所有信息,列标题在一行,值在另一行。
我的问题是: 是否有任何方法可以使用第二个代码,并获得相同的数据垂直表示?
不同的是 data_1.iloc[1] 返回熊猫 Series 鉴于 data_1.loc[data_1["Name"].isin(["John"])] 返回 DataFrame . Pandas对这两种数据类型有不同的表示(即它们的打印方式不同)。
data_1.iloc[1]
Series
data_1.loc[data_1["Name"].isin(["John"])]
DataFrame
原因 iloc[1] 给你一个 系列 是因为你用标量索引了它。如果你这样做了 data_1.iloc[[1]] 你会看到你得到一个 数据帧 相反。相反,我假设 data_1["Name"].isin(["John"]) 正在返回集合。如果你想得到一个 系列 相反,你可以试试
iloc[1]
系列
data_1.iloc[[1]]
数据帧
data_1["Name"].isin(["John"])
print(data_1.loc[data_1["Name"].isin(["John"])[0]])
但前提是你确定你得到了一个元素。