将数据帧附加到空数据帧不起作用 [英] Appending dataframe to empty dataframe is not working

查看:48
本文介绍了将数据帧附加到空数据帧不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在文件顶部附近声明了一个具有全局范围的空数据框:

I declared an empty data frame near the top of my file with a global scope:

final_df = pd.DataFrame()

我有 stats_df 成功打印了正确的值,但是 final_df 在附加 stats_df 后没有改变:

I have stats_dfsuccessfully printing the correct value, but final_df is not changing after appending stats_df to it:

stats_df = pd.DataFrame(X, columns=stats_feature_names).sum().to_frame().T
print('statsdf being appended: \n', stats_df)
print('final_df before append: \n', final_df)
final_df.append(stats_df)
print('final_df after append: \n', final_df)

这些打印语句的输出是:

The output of these print statements are:

statsdf being appended: 
    GF  GA
0  14  33
final_df before append: 
 Empty DataFrame
Columns: []
Index: []
final_df after append: 
 Empty DataFrame
Columns: []
Index: []

什么时候应该:

statsdf being appended: 
    GF  GA
0  14  33
final_df before append: 
 Empty DataFrame
Columns: []
Index: []
final_df after append: 
 GF  GA
0  14  33

为什么 stats_df 没有附加到 final_df?

Why is stats_df not being appended to final_df?

推荐答案

您需要分配给新的 DataFrame,因为使用 DataFrame.append,不是纯python append:

You need assign to new DataFrame, because use DataFrame.append, not pure python append:

stats_feature_names = ['a','b']
final_df = pd.DataFrame()

X = [[1,2]]
stats_df = pd.DataFrame(X, columns=stats_feature_names).sum().to_frame().T
print('statsdf being appended: \n', stats_df)
print('final_df before append: \n', final_df)
final_df = final_df.append(stats_df, ignore_index=True)
print('final_df after append: \n', final_df)
    a  b
0  1  2

但更好的解决方案是追加到列表(纯 python 追加)和循环外使用 concat:

But better solution is append to list (pure python append) and out of loop use concat:

L = []
for x in iterator:
    stats_df = pd.DataFrame([[1,2]], columns=stats_feature_names).sum().to_frame().T
    L.append(stats_df)

final_df = pd.concat(L, ignore_index=True)
print('final_df after append: \n', final_df)

这篇关于将数据帧附加到空数据帧不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆