[英]Use numpy to read a two-column csv file
我很好奇是否有更好的方法可以做到这一点。 我有一个包含两列的CSV文件(这是相当常见的),例如,第一列是时间戳,第二列是数据。
# temp.csv
0., 0.
1., 5.
2., 10.
3., 15.
4., 10.
5., 0.
然后我想阅读这个temp.csv文件:
import numpy as np
my_csv = np.genfromtxt('./temp.csv', delimiter=',')
time = my_csv[:, 0]
data = my_csv[:, 1]
完全没问题,但是我很好奇是否有更优雅的方法可以这样做,因为这是相当普遍的做法。
谢谢!
-肖恩
你可以做:
my_csv = np.genfromtxt('./temp.csv', delimiter=',')
time, data = my_csv.transpose()
或一个班轮:
time, data = np.genfromtxt('./temp.csv', delimiter=',').transpose()
或genfromtxt
进行转置的另一种划线器:
time, data = np.genfromtxt('./temp.csv', delimiter=',', unpack=True)
他们更优雅吗? 这取决于读者。
您可以使用unpack
参数使genfromtxt
返回数组的转置。 然后,您可以像这样进行作业:
In [3]: time, data = genfromtxt('temp.csv', unpack=True, delimiter=',')
In [4]: time
Out[4]: array([ 0., 1., 2., 3., 4., 5.])
In [5]: data
Out[5]: array([ 0., 5., 10., 15., 10., 0.])
如果您想要使用csv类型表的好方法,请使用pandas数据框。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.