2017-05-04 25 views
12

Tôi có một dataframe khổng lồ, và tôi nhận được lỗi:Làm thế nào để in một hàng cụ thể của một DataFrame gấu trúc?

TypeError: ("Empty 'DataFrame': no numeric data to plot", 'occurred at index 159220')

Tôi đã giảm null, và kiểm tra dtypes cho DataFrame vì vậy tôi không có đoán là tại sao nó không vào mà hàng.

Làm cách nào để in ra hàng đó (tại chỉ mục 159220) của khung dữ liệu?

Cảm ơn

+1

'in (df.iloc [[index]])' – lmiguelvargasf

Trả lời

10

Sử dụng ix điều hành:

print df.ix[159220] 
3

Âm thanh như bạn đang gọi điện thoại df.plot(). Lỗi đó cho biết bạn đang cố gắng một khung không có dữ liệu số. Các kiểu dữ liệu không ảnh hưởng đến những gì bạn print().

Sử dụng print(df.iloc[159220])

2

Khi bạn gọi loc với một giá trị vô hướng, bạn sẽ có được một pd.Series. Chuỗi đó sau đó sẽ có một số dtype. Nếu bạn muốn xem hàng vì nó nằm trong khung dữ liệu, bạn sẽ muốn chuyển một mảng như chỉ mục đến loc.

Quấn giá trị chỉ số của bạn với một cặp thêm dấu ngoặc vuông

print(df.loc[[159220]]) 
+0

Tôi đã nhìn thấy 3 câu trả lời khác nhau, (df.loc [[] ], df.ix [], và df.iloc []) có sự khác biệt nào giữa chúng không? Hoặc một lợi thế của một trong những người khác? – Acoustic77

+1

@ Acoustic77 có. ix sẽ không được dùng nữa. Và tôi giải thích mục đích của khung đôi – piRSquared

+0

nhận được nó, và có một lợi thế của loc trên iloc? – Acoustic77

Các vấn đề liên quan