用熊猫交换列

时间:2020-06-10 04:35:04

标签: python pandas

我想交换这两列:

khushboo    खुशबू
khushbuu    खुशबू
khushbu खुशबू
khusbhu खुशबू
tera    तेरा
teraa   तेरा
thera   तेरा
teraaa  तेरा
badan   बदन
sulgeh  सुलगे
sulage  सुलगे
sulge   सुलगे
mehke   महके
mahake  महके

我知道我可以使用dataset = pd.read_csv('/file.txt', delimeter ='\t', encoding='utf-8')来读取这些列,甚至可以使用dataset.iloc[:0]dataset.iloc[:-1]将数据集分为两部分。 但是如何交换它们并创建新的csv或文本文件?我尝试了pd.to_csv,但不知道如何传递参数,但总会得到一个列表。 我希望它看起来像这样:

तेरा tera
तेरा terra
तेरा thera

只想交换这些列。

2 个答案:

答案 0 :(得分:0)

假设第一列标题为khushboo,第二列标题为 खुशबू

dataset = pd.read_csv('/file.txt', delimeter ='\t', encoding='utf-8')
dataset = dataset[['खुशबू','khushboo']]
dataset.to_csv('file.csv', index=False)  #you may also have to pass `encoding='utf-8'` again.

答案 1 :(得分:0)

尝试:

df.set_index('cnum').idxmax(axis=1).reset_index(drop=True)

0    sup1
1    sup1
2    sup3
3    sup2
dtype: object

df['output'] = df.set_index('cnum').idxmax(axis=1).reset_index(drop=True) 
# Slightly faster,
# df['output'] = df.set_index('cnum').idxmax(axis=1).to_numpy() 

df
         cnum  sup1  sup2  sup3  sup4 output
0   285414459     1     0     1     1   sup1
1   445633709     1     0     0     0   sup1
2   556714736     0     0     1     0   sup3
3  1089852074     0     1     0     1   sup2