欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【Python】PandasDataFrame删除带有特定值的行,两个表格的数据对齐

时间:2023-04-27

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))

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。