将元组插入空的 pandas 数据框中

Chr*_*ian 5 python pandas pandas-loc

我想将一行插入到空的 DataFrame 中。但是,对于具有预定义索引的 DataFrame 以及当元素包含提示错误的元组或列表时,这似乎会失败:

ValueError:使用序列设置数组元素。

示例代码如下:

df = pd.DataFrame(columns=['idx1', 'idx2', 'col1', 'col2', 'col3'])
df.set_index(['idx1', 'idx2'], inplace=True)
df.loc[(1,2),:] = [3,4,(5,6)]
print(df)
Run Code Online (Sandbox Code Playgroud)

gof*_*onx 3

尚不清楚列表中的元素对应于不同列中的值。您可以首先将列表转换为由 DataFrame 的列索引的系列:

df = pd.DataFrame(columns=['idx1', 'idx2', 'col1', 'col2', 'col3'])
df.set_index(['idx1', 'idx2'], inplace=True)
df.loc[(1,2),:] = pd.Series([3,4,(5,6)], index=df.columns)
print(df)
Run Code Online (Sandbox Code Playgroud)