如何使用 Pandas 读取 Python 中的文本文件
How to read text file in Python using Pandas
我是 Pandas 的新手,我一直在尝试在 Python 2.7 中绘制散点图,我在 .txt 文件中有这样的数据集(逗号分隔)
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)
如何在数据集上没有任何 header 的情况下在散点图中绘制上述数据?
我在教程和示例中看到,如果数据集有列标题,则可以绘制散点图。我尝试将 x 和 y 作为 .txt 文件中数据集两列的 headers,并尝试了以下代码。
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)
但我仍然收到如下所示的错误
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"
有没有更好的方法来处理这个问题(有和没有 header 名字)?
编辑:
经过 Ishan 回复后,以下内容对我有用
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()
尝试导入没有列 headers 的数据,然后自己命名列:
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()
我是 Pandas 的新手,我一直在尝试在 Python 2.7 中绘制散点图,我在 .txt 文件中有这样的数据集(逗号分隔)
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)
如何在数据集上没有任何 header 的情况下在散点图中绘制上述数据?
我在教程和示例中看到,如果数据集有列标题,则可以绘制散点图。我尝试将 x 和 y 作为 .txt 文件中数据集两列的 headers,并尝试了以下代码。
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)
但我仍然收到如下所示的错误
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"
有没有更好的方法来处理这个问题(有和没有 header 名字)?
编辑:
经过 Ishan 回复后,以下内容对我有用
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()
尝试导入没有列 headers 的数据,然后自己命名列:
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()