python - 如何使用 python 从该矩阵中删除行/列

标签 python csv matrix numpy scipy

我的矩阵看起来像这样。

 ['Hotel', ' "excellent"', ' "very good"', ' "average"', ' "poor"', ' "terrible"', ' "cheapest"', ' "rank"', ' "total reviews"']
 ['westin', ' 390', ' 291', ' 70', ' 43', ' 19', ' 215', ' 27', ' 813']
 ['ramada', ' 136', ' 67', ' 53', ' 30', ' 24', ' 149', ' 49', ' 310 ']
 ['sutton place', '489', ' 293', ' 106', ' 39', ' 20', ' 299', ' 24', ' 947']
 ['loden', ' 681', ' 134', ' 17', ' 5', ' 0', ' 199', ' 4', ' 837']
 ['hampton inn downtown', ' 241', ' 166', ' 26', ' 5', ' 1', ' 159', ' 21', ' 439']
 ['shangri la', ' 332', ' 45', ' 20', ' 8', ' 2', ' 325', ' 8', ' 407']
 ['residence inn marriott', ' 22', ' 15', ' 5', ' 0', ' 0', ' 179', ' 35', ' 42']
 ['pan pacific', ' 475', ' 262', ' 86', ' 29', ' 16', ' 249', ' 15', ' 868']
 ['sheraton wall center', ' 277', ' 346', ' 150', ' 80', ' 26', ' 249', ' 45', ' 879']
 ['westin bayshore', ' 390', ' 291', ' 70', ' 43', ' 19', ' 199', ' 813']

我想从中删除第一行和第 0 列并创建一个新矩阵。

我该怎么做?

一般在java中我会使用下面的代码:

 for (int y; y< matrix[x].length; y++)
     for(int x; x < matrix[Y].length; x++)
      {
        if(x == 0 || y == 0)
         {
           continue
          }
          else
           {
             new_matrix[x][y] = matrix[x][y];
           }


      }

在python中有没有像这样的方法来迭代和选择性地复制元素?

谢谢


编辑

我还尝试在遍历矩阵时将每个矩阵元素从字符串转换为 float 。

这是我根据以下答案更新的修改代码。

A = []
f = open("csv_test.csv",'rt')
try:
    reader = csv.reader(f)
    for row in reader:
        A.append(row)
 finally:
     f.close()

 new_list = [row[1:] for row in A[1:]]
 l = np.array(new_list)
 l.astype(np.float32)
 print l

但是我得到一个错误

  --> l.astype(np.float32)
       print l


      ValueError: setting an array element with a sequence.

最佳答案

如果你有一个列表列表,那么:

new_list = [row[1:] for row in current_list[1:]]

因此,创建一个忽略第一行的新矩阵,并且对于之后的每一行,忽略第一列。

如果它碰巧是一个numpy.array,那么你可以使用:

your_array[1:,1:]

关于python - 如何使用 python 从该矩阵中删除行/列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13042390/

相关文章:

python - 将图像从笛卡尔坐标转换为极坐标 - 肢体变暗

java - 如何从java中的文件夹中读取多个csv文件?

Android Camera2帧水平反转

java - 反转n x n矩阵的最佳方法

sql - 从sql导出到excel

r - 如何在 R 中生成具有恒定 colSum 值的随机矩阵?

python - 捕获无法处理的异常并重新引发

python - 在列表中移动项目?

python - 在文件末尾写入新行

python - 编写包含多个变量的 CSV