在创建Pandas Multiindex dataframe时,可以使用MultiIndex.from_product方法来代替使用append方法,以提高速度。以下是一个示例代码:
import pandas as pd
import numpy as np
# 创建Multiindex的索引值
index_values = pd.MultiIndex.from_product([['A', 'B', 'C'], ['X', 'Y', 'Z']], names=['Letter', 'Letter2'])
# 创建空的DataFrame
df = pd.DataFrame(index=index_values, columns=['Value'])
# 使用for循环来填充DataFrame
for idx in index_values:
df.loc[idx, 'Value'] = np.random.rand()
print(df)
这段代码首先使用MultiIndex.from_product方法创建了一个包含两个层级索引的Multiindex对象。然后,创建了一个空的DataFrame,索引使用了刚刚创建的Multiindex对象,同时定义了一个名为'Value'的列。
接下来,使用for循环遍历所有索引值,并使用.loc方法将随机数填充到对应的位置上。
最后,打印出DataFrame的内容。
这种方法相比使用append方法更快,因为append方法每次都会创建一个新的DataFrame对象,而使用.loc方法只需要在初始时创建一个空的DataFrame对象,然后直接在指定位置填充数据。