Python 熊猫对列进行排序并找出差异
我有一个数据帧,我想对它进行排序,使列a==columnb。如果没有匹配项,则将其放入C列 我的数据看起来像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
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