使用先前声明的值追加dataframe中的行

2024-10-05 17:42:34 发布

您现在位置:Python中文网/ 问答频道 /正文

是否有办法将要添加的列和值保存到变量中?
就像这里:

var = "'r':0.1"
print(var)

dfnew = pd.DataFrame()
for i in df.values:
      dfnew = dfnew.append({val}, ignore_index=True)

Tags: indataframedfforindexvarvalpd
2条回答

看起来您正在尝试从字典启动数据帧。不清楚是否要添加新行/列。请提供更多信息,并举例说明

如果我正确地将字典转换为数据帧,请查看文档(https://pandas.pydata.org/pandas-docs/version/0.21/generated/pandas.DataFrame.html)页面以获取示例

以下是一个例子:

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
df
   col1  col2
0     1     3
1     2     4

您的数据帧是空的,因为您只是在进入for循环之前创建它,所以for i in df.values不进行迭代

为了做你想做的事,你可以做:

var = {'r':0.1}
for i in range(len(var)):
    new_df = pd.DataFrame(columns=var.keys())
    vals = pd.Series(list(var.values())[0])
    new_df[list(var.keys())[0]] = new_df[list(var.keys())[0]]
                   .append(vals, ignore_index=True)

print(new_df)
    r
0  0.1

相关问题 更多 >