0

我有一个 Excel 文件,其中包含巨大的数据集(21157 行 x 32 列)。第一列称为“user_id”,因此数百行标记有相同的用户 ID(假设从 row0 到第 200 行索引为“user1”,从 row201 到 row500 为 user2,依此类推)。我的目标是提取仅对应于特定用户的所有行和所有列数据,以便根据用户 ID 分别获取每个用户的数据。excel文件组织如下。

               user_id   col2 col3 .....col32
      row0     user1      20    10  ..... 76
      row1     user1      22    20  ..... 65
      row2     user1      45    30  ..... 45
      row3     user1      43    56  ..... 67
       .
       .
       .
     row200    user2      20    10  ..... 76
     row201    user2      22    20  ..... 65
     row202    user2      45    30  ..... 45
     row202    user2      43    56  ..... 67
       .
       .
       .

我尝试使用 pandas 读取整个 excel 文件,如下所示:

  df = pd.read_excel('file_name.xlsx')     # data freams
  user_id_col = df['user_id'] # extract user_id column
  number_of_users = [len(list(group)) for key, group in 
  groupby(user_id_col)] # count number_of_users in the dataset (we got 41 users)

 Orignal_data_matrix = df.values # convert datafram into matrix
 print(Orignal_data_matrix)
 print(Orignal_data_matrix.shape)

谁能告诉我如何根据每个用户的相同用户 ID(即第一列)分别提取每个用户的多行的所有列数据(即从 col2 到 col 32)?

4

0 回答 0