【问题标题】:Easiest way to print the head of a data in python?在python中打印数据头的最简单方法?
【发布时间】: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" 中的不同维度。你能解释一下区别吗?因为这非常重要,因为我正在处理降维工作。谢谢。

标签: python pandas head


【解决方案1】:

您需要对 mydata 进行转置,否则 x、y、z、mx、my、mz 是行而不是列。

mydata = np.array([x, y, z, mx, my, mz]).T
print(mydata[:5, :])

【讨论】:

    猜你喜欢
    • 2021-11-11
    相关资源
    最近更新 更多