Python 在使用dataframe时使用append后,列的顺序已更改
我使用此代码将csv中的行附加到新的数据帧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
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