Python 如何打印 Pandas DataFrame 的特定行?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/43772362/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to print a specific row of a pandas DataFrame?
提问by singmotor
I have a massive dataframe, and I'm getting the error:
我有一个庞大的数据框,但出现错误:
TypeError: ("Empty 'DataFrame': no numeric data to plot", 'occurred at index 159220')
TypeError: ("Empty 'DataFrame': no numeric data to plot", 'occurred at index 159220')
I've already dropped nulls, and checked dtypes for the DataFrame so I have no guess as to why it's failing on that row.
我已经删除了空值,并检查了 DataFrame 的 dtypes,所以我不知道为什么它在该行失败。
How do I print out just that row (at index 159220) of the data frame?
如何仅打印出数据框的那一行(索引 159220)?
Thanks
谢谢
回答by piRSquared
When you call locwith a scalar value, you get a pd.Series. That series will then have one dtype. If you want to see the row as it is in the dataframe, you'll want to pass an array like indexer to loc.
当您loc使用标量值调用时,您会得到一个pd.Series. 该系列将有一个dtype. 如果您想查看数据框中的行,您需要将像 indexer 这样的数组传递给loc.
Wrap your index value with an additional pair of square brackets
用一对额外的方括号括起您的索引值
print(df.loc[[159220]])
回答by kamran kausar
To print a specific row we have couple of pandas method
要打印特定行,我们有几个 Pandas 方法
loc- It only get label i.e column name or Featuresiloc- Here i stands for integer, actually row numberix- It is a mix of label as well as integer
loc- 它只得到标签,即列名或特征iloc- 这里 i 代表整数,实际上是行号ix- 它是标签和整数的混合
How to use for specific row
如何用于特定行
loc
loc
df.loc[row,column]
For first row and all column
对于第一行和所有列
df.loc[0,:]
For first row and some specific column
对于第一行和某些特定列
df.loc[0,'column_name']
iloc
iloc
For first row and all column
对于第一行和所有列
df.iloc[0,:]
For first row and some specific column i.e first three cols
对于第一行和一些特定的列,即前三个列
df.iloc[0,0:3]
回答by Batman
Sounds like you're calling df.plot(). That error indicates that you're trying to plota frame that has no numeric data. The data types shouldn't affect what you print().
听起来你在打电话df.plot()。该错误表明您正在尝试绘制一个没有数字数据的框架。数据类型不应影响您的内容print()。
Use print(df.iloc[159220])
用 print(df.iloc[159220])
回答by vivek SB
print(df.iloc[[index__number]])

