Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在使用dataframe时使用append后,列的顺序已更改_Python_Pandas - Fatal编程技术网

Python 在使用dataframe时使用append后,列的顺序已更改

Python 在使用dataframe时使用append后,列的顺序已更改,python,pandas,Python,Pandas,我使用此代码将csv中的行附加到新的数据帧 import pandas as pd from keybert import KeyBERT df_info = pd.read_csv(r'./old.csv', encoding='utf-8') df_re = pd.DataFrame() for index,row in df_info.iterrows(): doc = row['info'] model = KeyBERT('distilbert-base-nli-me

我使用此代码将csv中的行附加到新的数据帧

import pandas as pd
from keybert import KeyBERT

df_info = pd.read_csv(r'./old.csv', encoding='utf-8')
df_re = pd.DataFrame()
for index,row in df_info.iterrows():
    doc = row['info']
    model = KeyBERT('distilbert-base-nli-mean-tokens')
    a = model.extract_keywords(doc, keyphrase_ngram_range=(1, 1))
    row['result'] = a
    df_re = df_re.append(row)
df_re.to_csv(r'./new.csv', index=False, mode='w', header=True, encoding='utf-8-sig')
old.csv
中列的顺序是
D,info,B,A,C

但是当我使用
df_re=df_re.append(row)
时,
df_re(new.csv)
列的顺序变成
A、B、C、D、info、result
,我不想更改原始列的顺序。我只想将列
result
附加到原始csv列的最后一列

我只需要
new.csv
中的
D、info、B、A、C、result


我该怎么办?

当您初始化
df\u re
时,它是一个没有行和列的空白数据框,因此您不应该期望任何顺序。相反,您可以在初始化期间显式指定列:

df_re=pd.DataFrame(columns=df_info.columns+['result'])

我使用了你的方法,但发生了一些奇怪的事情。标题如下,
Dresult,inforesult,Bresult,Aresult,Cresult,A,B,C,D,info