在Python中,可以使用pandas库来按列值对数据进行分组,并将其重组为一个关联的多维数组。以下是一个示例代码:
import pandas as pd
# 创建一个示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35, 28, 32, 37],
'City': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)
# 按'City'列值对数据进行分组,并重组为一个关联的多维数组
grouped = df.groupby('City').apply(lambda x: x[['Name', 'Age']].values.tolist())
# 打印结果
print(grouped)
输出结果:
City
Chicago [[Charlie, 35], [Charlie, 37]]
Los Angeles [[Bob, 30], [Bob, 32]]
New York [[Alice, 25], [Alice, 28]]
dtype: object
在这个示例中,我们首先创建了一个包含姓名、年龄和城市的示例数据。然后,使用groupby
方法按照'City'列值对数据进行分组。接着,使用apply
方法将每个分组中的'Name'和'Age'列值转换为一个二维列表,并使用tolist()
方法将其转换为标准的Python列表。最后,我们得到了一个以'City'列值为索引的关联的多维数组。