1.问题
两个数据表,长度不一样。第一个表格中的数据比第二个表格中多出些行,要以第二个表格的数据为准,删掉第一个表格中多余的数据。
2.解决思路
两个数据的第一列,也就是时间 ['DateTime'] 格式是一样的,先遍历,对比两个表格中不一致的时间,将不一致的加入到一个列表 DateTime 里。
close = pd.read_csv(r'C:UsersadminDesktopwind_datasz_hs_close.csv', encoding='utf-8',engine='python')ytm = pd.read_csv(r'C:UsersadminDesktopwind_data10y_ytm_ChinaCoin.csv', encoding='utf-8',engine='python')DateTime = []for i in list(ytm['DateTime']): if i not in list(close['DateTime']): print(i) DateTime.append(i)
然后用下面这行代码将多余的值的行去掉。
ytm = ytm[~ytm['DateTime'].isin(DateTime)]
3.结果
两列数据对齐了
4.代码
# -*- coding: utf-8 -*-from operator import indeximport pandas as pdclose = pd.read_csv(r'C:UsersadminDesktopwind_datasz_hs_close.csv', encoding='utf-8',engine='python')ytm = pd.read_csv(r'C:UsersadminDesktopwind_data10y_ytm_ChinaCoin.csv', encoding='utf-8',engine='python')DateTime = []for i in list(ytm['DateTime']): if i not in list(close['DateTime']): print(i) DateTime.append(i)ytm = ytm[~ytm['DateTime'].isin(DateTime)]print(ytm)print(len(close))print(len(ytm))