矩阵第 0 行第 0 列读数 "Dog" 而不是 "Target"

Matrix 0th row 0th column reading "Dog" instead of "Target"

我正在尝试将某些字符串附加到矩阵。一个在第 0 行第 0 列上显示为“目标”。还有一个在第 0 列第 1 行向下读取到矩阵的最后一行的“狗”。

我的初始矩阵如下所示: enter image description here

我对以下程序有一个小问题:

import numpy as np
import pandas as pd

main=pd.read_csv('C:/Users/Jonas/Desktop/testfile/biggertest.csv', header=None)

target_col = ['dog'] * main.shape[0]
main.insert(loc = 0, column = 'target', value = target_col)

这将创建一个如下所示的新矩阵: enter image description here

而不是: enter image description here

我想知道我需要改变什么才能实现这一点?

干杯。

您可以简单地进行以下修改。

import numpy as np
import pandas as pd

main=pd.read_csv('C:/Users/Jonas/Desktop/testfile/biggertest.csv', header=None)

target_col = ['dog'] * main.shape[0]
target_col[0] = 'target'
main.insert(loc = 0, column = -1, value = target_col)

或者,

import numpy as np
import pandas as pd

main=pd.read_csv('C:/Users/Jonas/Desktop/testfile/biggertest.csv', header=None)

main.insert(loc = 0, column = -1, value = 'dog')
main.at[0,-1] = 'target'

如果您希望列索引从 0 到 4(而不是 -1 到 3),那么您可以添加以下命令:

main.rename(columns = lambda x:x+1,inplace=True)

所有命令的结果输出:

        0  1  2  3  4
0  target  5  5  8  9
1     dog  9  0  2  6
2     dog  6  6  4  3
3     dog  3  3  3  3