我需要在一个空的 Pandas Dataframe 中存储一些值。类似的东西: | col1 col2 col3------------------------row1 | v1 v2 v3row2 | v4 v5 v6row3 | v7 v8 v9我从其他来源获取单元格ex: (row2, col3, v6),但我事先不知道我将拥有多少行和多少列。我试图以这种方式填充我的 DataFrame,但它不起作用:import pandas as pddf = pd.DataFrame()df["col1"] = ""df["col2"] = ""df["col3"] = ""df["col1"].loc["row1"] = "v1"df["col2"].loc["row2"] = "v4"df["col3"].loc["row3"] = "v9"# ...当我想显示 DataFrame 时,print(df)它显示为一个空的 DataFrame。Empty DataFrameColumns: [col1, col2, col3]Index: []出于好奇,我尝试了print(df["col1"])我得到:row1 v1row2 v4row3 v7Name: col1, dtype: object和print(df.loc["row1"])返回KeyError异常。好吧,我想我有一个索引问题,但我不知道如何解决它,并且在第一次插入后我无法使用df.set_index,因为我有其他限制。我也试过这个:df = pd.DataFrame(columns=("some_name",))df.set_index("some_name", inplace=True)但它也失败了。任何的想法 ?我想我只需要在开始插入数据之前设置一个空索引,但我不知道如何。
1 回答

倚天杖
TA贡献1828条经验 获得超3个赞
这样你就可以使用pd.loc()方法添加值: import pandas as pd df = pd.DataFrame()
df["col1"] = ""
df["col2"] = ""
df["col3"] = ""
df.loc["row1", "col1"] = "v1"
df.loc["row2", "col2"] = "v4"
df.loc["row3", "col3"] = "v9"
产生以下输出:
添加回答
举报
0/150
提交
取消