基于this answer,我已经能够使用自己的数据和指定的dtypes创建一个新的pandas数据框,如下所示:
df = pd.DataFrame({'A':pd.Series([1], dtype='str'),
'B':pd.Series([4], dtype='int'),
'C':pd.Series([7], dtype='float')})
print(df)
A B C
0 1 4 7.0
但是,我需要的是能够在创建数据帧时另外指定索引名称。我想这应该使用pd.DataFrame()
和/或pd.Series()
的索引参数来完成,但我不确定以什么方式。
预期结果是,如果我之后打印df
,我会得到:
A B C
idx1 idx2
0 test 1 4 7.0
其中"idx1"
和"idx2"
是索引名称,0
和"test"
是此(单行)数据框中第一行对于这两个值的值指数。
答案 0 :(得分:1)
需要为每个MultiIndex
定义Series
,例如MultiIndex.from_arrays
:
mux = pd.MultiIndex.from_arrays([[0], ['test']], names=['idx1','idx2'])
df = pd.DataFrame({'A':pd.Series([1], dtype='str', index=mux),
'B':pd.Series([4], dtype='int', index=mux),
'C':pd.Series([7], dtype='float', index=mux)})
print(df)
A B C
idx1 idx2
0 test 1 4 7.0