Python 熊猫对列进行排序并找出差异

Python 熊猫对列进行排序并找出差异,python,pandas,Python,Pandas,我有一个数据帧,我想对它进行排序,使列a==columnb。如果没有匹配项,则将其放入C列 我的数据看起来像 filenamesLocal FilenamesServer filea.csv fileab.csv filec.csv filea.csv fileab.csv filec.csv filexyz.csv fileyh.csv 我希望它们在fil

我有一个数据帧,我想对它进行排序,使列a==columnb。如果没有匹配项,则将其放入C列

我的数据看起来像

filenamesLocal          FilenamesServer
  filea.csv                  fileab.csv
  filec.csv                  filea.csv
  fileab.csv                 filec.csv
  filexyz.csv
  fileyh.csv
我希望它们在filenamesLocal=FilenamesServer的位置排序,其余部分在另一列中

filenamesLocal          FilenamesServer        Difference
  filea.csv                  filea.csv         filexyz.csv    
  filec.csv                  filec.csv          fileyh.csv
  fileab.csv                 fileab.csv
我的代码到目前为止

    ldsdata = pd.read_csv('filelist.csv', sep=" ", header = None)
    #data.to_csv("filelist.csv", index=False)
    dataproj = pd.read_csv('edslist.txt', sep=" ", header = None)
    dataproj.columns = ["fileNameEdsComputer"]
    result = pd.concat([ldsdata, dataproj], axis=1, ignore_index=True)
    result.columns = ['fileNameLDS', path]
    result.sort(['fileNameLDS',path], ascending=[True, False], inplace=True)
    result.to_csv('list.csv', index=False)
    checkDifferences()
安装程序 对齐
fnl
fns

aligned = pd.concat([fnl, fns], axis=1)

print aligned

            filenamesLocal FilenamesServer
filea.csv        filea.csv       filea.csv
fileab.csv      fileab.csv      fileab.csv
filec.csv        filec.csv       filec.csv
filexyz.csv    filexyz.csv             NaN
fileyh.csv      fileyh.csv             NaN

master = aligned.filenamesLocal.combine_first(aligned.FilenamesServer)

print master

filea.csv        filea.csv
fileab.csv      fileab.csv
filec.csv        filec.csv
filexyz.csv    filexyz.csv
fileyh.csv      fileyh.csv
Name: filenamesLocal, dtype: object
分配差额

aligned['Difference'] = master[aligned.isnull().any(axis=1)]

print aligned

            filenamesLocal FilenamesServer   Difference
filea.csv        filea.csv       filea.csv    filea.csv
fileab.csv      fileab.csv      fileab.csv   fileab.csv
filec.csv        filec.csv       filec.csv    filec.csv
filexyz.csv    filexyz.csv             NaN  filexyz.csv
fileyh.csv      fileyh.csv             NaN   fileyh.csv

也许是因为我有一个csv而不是TXT,我没有你的csv。为了进行测试,我必须创建一个数据帧。你应该试试我所做的,然后找出如何适用于你的情况。
aligned['Difference'] = master[aligned.isnull().any(axis=1)]

print aligned

            filenamesLocal FilenamesServer   Difference
filea.csv        filea.csv       filea.csv    filea.csv
fileab.csv      fileab.csv      fileab.csv   fileab.csv
filec.csv        filec.csv       filec.csv    filec.csv
filexyz.csv    filexyz.csv             NaN  filexyz.csv
fileyh.csv      fileyh.csv             NaN   fileyh.csv