2013-06-06 9 views
12

चूंकि मैंने डेटाफ्रेम के नाम पर टाइप करते समय हर बार पांडा के अद्यतन संस्करण को स्थापित किया है, उदा।तालिका के रूप में पांडस डेटा फ्रेम को दिखा रहा है

df[0:5] 

पहले कुछ पंक्तियां देखने के लिए, यह मेरे, बजाय डेटा प्रकार उनमें मान और की संख्या कॉलम की एक सारांश देता है।

मैं इसके बजाय टैब्यूलर दृश्य कैसे देख सकता हूं? (मैं iPython बीटीडब्ल्यू का उपयोग कर रहा हूँ)।

अग्रिम धन्यवाद!

+0

http://pandas.pydata.org/pandas-docs/stable/basics.html – colinfang

उत्तर

20

नोट: शीर्ष कुछ पंक्तियों को दिखाने के लिए आप head का भी उपयोग कर सकते हैं।

हालांकि, पांडा सारांश दृश्य अगर वहाँ display.max_columns की तुलना में अधिक स्तंभ हैं या वे अब से display.width (तुलनात्मक रूप से पंक्तियों के लिए) कर रहे हैं दिखाई देगा, इसलिए यदि आप एक तालिका दृश्य दिखाने के लिए इन बढ़ाने की आवश्यकता होगी। उदाहरण के लिए आप इन का उपयोग कर सेट विकल्प को बदल सकते हैं,: "Unintuitive default behavior with wide DataFrames in the IPython notebook":

pd.options.display.max_columns = 50 

इस पांडा मुद्दा देखें।

वैकल्पिक रूप से, पहले कुछ स्तंभों के लिए पहली कुछ पंक्तियों आप उपयोग कर सकते हैं:

df.head(5)[df.columns[0:4]] 
# alternatively 
df.iloc[:5, :4] 
+0

कि के लिए धन्यवाद - जब मैं में टाइप ' record_refs.head (5) [record_refs.columns [0: 5]] '- जहां record_refs डेटाफ्रेम है, मुझे सारांश देता है:' Int64Index: 5 प्रविष्टियां, 0 से 4 डेटा कॉलम (कुल 5 कॉलम): तालिका नहीं। मैं डीएफ के नाम पर टाइप करने और पहली कुछ पंक्तियों के लिए iPython में एक अच्छी टेबल प्राप्त करने में सक्षम था! – user7289

+0

बस अपने आप से सिर की कोशिश की - अभी भी कोई भाग्य नहीं है, मुझे कॉलम सारांश देता है ... – user7289

+0

@ user7289 हाँ यह सिर्फ डीएफ [0: 5] 'के लिए चीनी है, यह मुद्दा max_rows या display_width है। –

7

लघु जवाब: अपने संस्करण बाद में उस 0.11.0 है, तो उसे अपने प्रदर्शन चौड़ाई सेट करने का प्रयास:

pd.set_option('display.width', 200) 

लंबा उत्तर: अनुमोदित, धागा 4 महीने पुराना है, लेकिन मुझे कल रात भी यही समस्या थी। एक आईपीथॉन नोटबुक जो मेरे काम पर ठीक काम करता है, घर पर एचटीएमएल टेबल नहीं पेश करेगा।

पहले, अपने संस्करण की जांच: '0.11.0'

इसके बाद, साथ अपनी सेटिंग्स की जाँच:

pd.describe_option('display') 

यह आपको एक दे देंगे

import pandas as pd 
pd.__version__ 

खान के साथ वापस आता है सभी संभावित प्रदर्शन विकल्पों और वर्तमान डिफ़ॉल्ट मानों की लंबी सूची। आपको डिफ़ॉल्ट को बदलने के साथ खेलना पड़ सकता है। इसे काम करने के लिए बड़े मूल्यों के साथ जाएं और फिर आवश्यकतानुसार वापस स्केल करें।

Display.width महत्वपूर्ण है। मैंने इन्हें आयात के साथ शीर्ष पर रखा है।

pd.set_option('display.height', 500) 
pd.set_option('display.max_rows', 500) 
pd.set_option('display.max_columns', 500) 
pd.set_option('display.width', 200) 
0

बहुत उपयोगी, धन्यवाद। मैं इस ulmo + pandas example के माध्यम से Wakari पर होस्ट की गई नोटबुक में जा रहा था और कुछ तालिकाएं सिर्फ सारांश दे रही थीं, HTML के रूप में प्रस्तुत नहीं कर रही थीं। ऐसा प्रतीत होता है कि वकाड़ी में display.width विकल्प केवल 80 तक डिफ़ॉल्ट है, इसलिए तालिका को इसके बजाय सारांश मुद्रित करने से पहले बहुत व्यापक नहीं होना चाहिए। यह एक भ्रमित छुपा मोड है। निम्नलिखित इसे ठीक किया गया:

pandas.set_option('display.width',500) 

display.max_rows और प्रदर्शन।max_columns 60 और 20 के लिए डिफ़ॉल्ट है, इसलिए मैंने उन लोगों को छोड़ दिया है। यह पांडस 0.11.0 के साथ था।

0

पहला चरण: मैं ग्रहण के pydev में जीयूआई प्राप्त करने के लिए इसका उपयोग कर रहा हूं। सुनिश्चित करें कि आपके pydev में GUI सेट है। ऐसा करने के लिए इस ट्यूटोरियल का प्रयोग करें: http://popdevelop.com/2010/04/setting-up-ide-and-creating-a-cross-platform-qt-python-gui-application/

दूसरा चरण: यहां Fastest way to populate QTableView from Pandas data frame और कुछ संशोधन करने से उदाहरण ले, एक बार नीचे कोड चलाएँ:

import pandas as pd 
from PyQt5 import QtCore, QtGui ,QtWidgets 
class PandasModel2(QtCore.QAbstractTableModel): 
    """ 
    Class to populate a table view with a pandas dataframe 
    """ 
    def __init__(self, data, parent=None): 
     QtCore.QAbstractTableModel.__init__(self, parent) 
     self._data = data 

    def rowCount(self, parent=None): 
     return self._data.shape[0] 

    def columnCount(self, parent=None): 
     return self._data.shape[1] 

    def data(self, index, role=QtCore.Qt.DisplayRole): 
     if index.isValid(): 
      if role == QtCore.Qt.DisplayRole: 
       return str(self._data.iloc[index.row(), index.column()]) 
     return None 

    def headerData(self, col, orientation, role): 
     if orientation == QtCore.Qt.Horizontal and role == QtCore.Qt.DisplayRole: 
      return self._data.columns[col] 
     return None 

view = QtWidgets.QTableView() 

एक बार ऐसा हो रहा है। आप सभी की जरूरत बस नीचे दिए गए आदेशों टाइप करें और आप जीयूआई हो सकता है

view.setModel(PandasModel2("your dataframe name")) 
view.show() 
संबंधित मुद्दे