【发布时间】:2017-07-10 06:29:26
【问题描述】:
我正在使用 pandas/numpy 处理 1400x1400 相关矩阵,我的目标是删除使用给定变量名称的行和列。每一行和每一列都有变量的名称以及这两个变量之间的相关性:
abandon abhorrent abominable
abandon 1.00 0.12 0.10
abhorrent 0.12 1.00 0.99
abominable 0.10 0.99 1.00
要将数据帧转换为矩阵,我使用 as_matrix:
datafile = pd.read_csv('data.csv')
df_matrix = datafile.as_matrix
我无法理解如何在不包括变量“abandon”的情况下创建新数据框(例如,删除与“abandon”对应的列和行)。
首先,我尝试只选择一个列来了解如何创建我想要的变量列表:
df_matrix = datafile.as_matrix(columns=['abhorrent'])
但是,这仅返回数组,我丢失了所有行/列名称。
我还尝试在导入数据后删除行/列。这将要求我采取额外的步骤来形成我不想要的变量名称列表,然后将它们作为列/行号传递,但这似乎是可行的。但是我不确定这段代码是否完全正确:
df_matrix2 = np.delete(df_matrix, 1, axis=0)
df_matrix2 = np.delete(df_matrix, 1, axis=1)
据我所知,这段代码不会在新矩阵中产生任何变化。它仍然是一个 1400x1400 的矩阵。
【问题讨论】:
标签: python pandas numpy matrix