2017-03-07 13 views
1

Ich bin neu in Pandas und ich habe versucht, ein Streudiagramm in Python 2.7 zu tun, ich habe das Dataset in TXT-Datei so etwas (Komma getrennt)Wie lese ich Textdatei in Python mit Pandas

6.1101,17.592 
5.5277,9.1302 
8.5186,13.662 
7.0032,11.854 
5.8598,6.8233 
8.3829,11.886 
7.4764,4.3483 



import pandas as pd 
import matplotlib.pyplot as mplt 

# Taking Dataset using Pandas 

input_data = pd.read_csv('data.txt'); 
#input_data.head(5) 

Wie werden die obigen Daten im Streudiagramm ohne Überschriften im Dataset dargestellt?

Ich habe in Tutorials und Beispielen gesehen, dass, wenn der Datensatz Spaltenüberschriften hat, es möglich ist, das Streudiagramm zu plotten. Ich habe versucht, x und y als Header für die beiden Spalten des Datensatzes in. TXT-Datei setzen und versuchte den folgenden Code.

input_data = pd.read_csv('data.txt'); 
#input_data.head(5) 
x_value = input_data[['x']] 
y_value = input_data[['y']] 

mplt.scatter(x_value, y_value) 

Aber immer noch ich bin immer Fehler wie unten

Traceback (most recent call last): 
    File "E:\IIT Madras\Research\Experiments\Machine Learning\Linear Regression\Linear_Regression.py", line 16, in <module> 
    y_value = input_data[['y']] 
    File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 1791, in __getitem__ 
    return self._getitem_array(key) 
    File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 1835, in _getitem_array 
    indexer = self.ix._convert_to_indexer(key, axis=1) 
    File "C:\Python27\lib\site-packages\pandas\core\indexing.py", line 1112, in _convert_to_indexer 
    raise KeyError('%s not in index' % objarr[mask]) 
KeyError: "['y'] not in index" 

Gibt es eine bessere Art und Weise mit diesem (mit und ohne Header-Namen) zu behandeln gezeigt?

EDIT:

Die folgende arbeitete für mich nach Ishan gehen durch antworten

input_data = pd.read_csv('data.txt', header =None); 
x_value = input_data[[0]] 
y_value = input_data[[1]] 
mplt.scatter(x_value, y_value) 
mplt.show() 
+2

Sie können Fügen Sie entweder die Header oder Namen hinzu oder beziehen Sie sich auf die Spalten anhand ihrer numerischen Indizes. Der Parameter für 'read_csv' ist' names', siehe http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html – pvg

Antwort

3

Versuchen Sie, die Daten ohne Spaltenüberschriften importieren und dann Spalten, indem Sie Ihre eigene Benennung:

df=pd.read_csv(r'/home/ishan/Desktop/file',header=None) 
df.columns=['x','y'] 
import matplotlib.pyplot as plt 
plt.scatter(df['x'],df['y']) 
plt.show() 
+0

das funktionierte, ich benutzte Index 0 und 1 statt x, y –

Verwandte Themen