当我在python中获取数据切片时遇到麻烦(我来自使用Matlab)。
这是我正在使用的代码,
import scipy.io as sc
import math as m
import numpy as np
from scipy.linalg import expm, sinm, cosm
import matplotlib.pyplot as plt
import pandas as pd
import sys
data = pd.read_excel('DataDMD.xlsx')
print(data.shape)
print(data)
输出看起来像这样, Output
因此,我希望仅获取此数据矩阵的某些行(或者从我对Python切片的了解)。我遇到的另一个问题是矩阵的顶部行几乎变成了列标题,而不是实际的数据点。所以我有两个问题,
1)我不需要矩阵的顶部具有任何“标题”或任何种类的东西,因为它全部是数字并且都象征着数据。
2)我只需要将整个矩阵的第六行作为新的数据矩阵。
3)我计划稍后再使用矩阵乘法,因此允许熊猫使用还是需要numpy?
这就是我尝试过的,
data.iloc[0::6,:]
这给了我类似的东西, Output2
这是错误的,因为我不需要24.8的值作为“ title”,而是成为新矩阵的第一行。
我也尝试过使用np.array,但是我的问题是当我尝试使用iloc时,它说(这很有意义)
'numpy.ndarray'对象没有属性'iloc'
如果有人有任何想法,请告诉我!谢谢!
答案 0 :(得分:2)
为避免将第一条记录作为标题加载,请尝试使用以下内容:
pd.read_excel('DataDMD.xlsx', header=None)
read_excel
函数具有 header 参数;标头参数的值指示应将数据的哪一行用作标头。它的默认值为0。如果数据中没有行用作标题,则将 None 用作标题参数的值。
the documentation of the function中描述了许多有用的参数。
这对第二个也有帮助。
希望这可以帮助。
祝你好运!