我有一个庞大的数据框,我收到错误:
TypeError: ("Empty 'DataFrame': no numeric data to plot", 'occurred at index 159220')
我已经删除了空值,并检查了数据框架的dtypes,因此我无法猜测它为什么会在该行上失败。
如何打印出数据框的那一行(索引号159220)?
由于
答案 0 :(得分:27)
当您使用标量值调用loc
时,您会得到pd.Series
。那个系列将有一个dtype
。如果您希望在数据框中看到该行,则需要将索引器之类的数组传递给loc
。
使用另外一对方括号
包装索引值print(df.loc[[159220]])
答案 1 :(得分:14)
使用ix
运算符:
print df.ix[159220]
答案 2 :(得分:12)
要打印特定的行,我们有几种熊猫方法
loc
-仅获取标签,即列名或功能iloc
-在这里我代表整数,实际上是行号ix
-它是标签和整数的组合如何用于特定行
loc
df.loc[row,column]
对于第一行和所有列
df.loc[0,:]
对于第一行和某些特定列
df.loc[0,'column_name']
iloc
对于第一行和所有列
df.iloc[0,:]
对于第一行和某些特定列,即前三个列
df.iloc[0,0:3]
答案 3 :(得分:4)
听起来你正在呼叫df.plot()
。该错误表示您正在尝试绘制没有数字数据的帧。数据类型不应影响您print()
的内容。
使用print(df.iloc[159220])
答案 4 :(得分:0)
print(df.iloc[[index__number]])
答案 5 :(得分:0)
如果要显示在row = 159220
row=159220
#To display in a table format
display(res.loc[row:row])
display(res.iloc[row:row+1])
#To display in print format
display(res.loc[row])
display(res.iloc[row])