我有一个 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)?