【发布时间】:2020-05-29 15:04:13
【问题描述】:
我没有用 pandas 定义我的数组,我正在使用 numpy 来完成它,我想知道是否有任何其他方法可以打印数据的前 5 行。使用 pandas 我会这样做:print(data.head())。
这就是我定义数据的方式:
with open('B0_25.txt', 'r') as simulation_data:
simulation_data = [x.strip() for x in simulation_data if x.strip()]
data = [tuple(map(float, x.split())) for x in simulation_data[2:100]]
x = [x[1] for x in data]
y = [x[2] for x in data]
z = [x[3] for x in data]
mx = [x[4] for x in data]
my = [x[5] for x in data]
mz = [x[6] for x in data]
mydata = np.array([x, y, z, mx, my, mz])
【问题讨论】:
-
试试
print(mydata[:5, :]) -
这样做与我的预期相反。该程序打印了 5 列而不是全部 6 列,并打印了所有行。这是否意味着我的数据被转置?有什么想法吗?
-
对不起,我的错,我没想到。如果你有一个二维数组,我写的会起作用。您拥有的是一个包含列表的一维数组,因此第一个
:5选择数组的前五个条目,而第二个:选择前五个条目的所有列。 -
我刚刚发布的答案应该有效
-
天啊,我写这篇文章时认为这是一个 6D 数组。我认为 x, y, z, mx, my, mz 是数组 "mydata" 中的不同维度。你能解释一下区别吗?因为这非常重要,因为我正在处理降维工作。谢谢。