[英]Pandas convert columns of one dataframe to index in another dataframe
我有一些.txt格式的文本文件。
我正在嘗試使用它們創建一個.csv文件,以便該.txt文件位於索引列中。
稍后在編輯數據框時,我將添加帶有人口統計信息(例如L1,Prompt和Level)的列,但是我想在索引中對齊txt文件,以便進行一些NLTK分析。
所需的輸出是:
L1 Prompt Level
FileName
data1.txt Japanese P1 High
data2.txt Korean P1 High
data3.txt Chinese P1 High
data4.txt Japanese P2 Med
data5.txt Korean P2 Med
data6.txt Chinese P2 Med
data7.txt Arabic P1 High
data8.txt German P1 High
data9.txt Spanish P1 High
data10.txt Arabic P2 Med
data11.txt German P2 Med
data12.txt Spanish P2 Med
我嘗試的代碼如下
df1=pd.read_csv('data1.txt',names=['data1'])
df2=pd.read_csv('data2.txt',names=['data2'])
df3=pd.read_csv('data3',names=['data3'])
result=pd.concat([df1,df2,df3],axis=1)
result.to_csv('mergedfile.txt',index=False)
但這當然會創建列
data1.txt data2.txt data3.txt
0 XYZ GHI PQR
1 ABC JKL STU
2 DEF MNO VWX
XYZ和ABC都是句子,例如,“我的祖國與美國之間的區別之一是便利店”。 或“區別在於公共交通,每個人都在我的祖國乘坐公共交通工具,而在美國則不多。”
每個txt文件的發言量都超過100,000,所以我不想將所有數據都放在數據框中,如果我可以將txt文件放到索引列中,那將是最理想的。
最終,我想將此導出到.csv,然后將其用於進一步分析。
您可以只使用數據框中的列作為新數據框的索引:
df1 = pd.DataFrame({'data1': ['XYZ', 'ABC', 'DEF']})
df2 = pd.DataFrame({'data2': ['GHI', 'JKL', 'MNO']})
df3 = pd.DataFrame({'data3': ['PQR', 'STU', 'VWX']})
df = pd.concat([df1, df2, df3], axis=1)
print(df)
# data1 data2 data3
# 0 XYZ GHI PQR
# 1 ABC JKL STU
# 2 DEF MNO VWX
res = pd.DataFrame(index=[k+'.txt' for k in df],
columns=['L1', 'Prompt', 'Level'])
print(res)
# L1 Prompt Level
# data1.txt NaN NaN NaN
# data2.txt NaN NaN NaN
# data3.txt NaN NaN NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.