用先前声明的值在熊猫数据框中添加行

时间:2018-11-30 10:57:48

标签: python pandas dataframe

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

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

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

2 个答案:

答案 0 :(得分:0)

您的数据框为空,因为您只是在进入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

答案 1 :(得分:0)

您似乎正在尝试从字典中启动数据框。不清楚是否要添加新的行/列。请提供更多信息,并可能提供示例。

如果我正确地将字典转换为数据框,请查看文档(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