开发者社区> 问答> 正文

检查pandas里面的重复数据

我有以下代码:

import pandas as pd
import datetime
import pandas as pd
from pandas_datareader import data as web
import matplotlib.pyplot as plt
from alpha_vantage.foreignexchange import ForeignExchange
import os
from os import path
from alpha_vantage.timeseries import TimeSeries 
import matplotlib.pyplot as plt 
import sys



while True:
    if path.exists('stockdata.csv') == True:
        data1 = pd.read_csv('stockdata.csv')
        ts = TimeSeries(key='1ORS1XLM1YK1GK9Y', output_format='pandas')
        data, meta_data = ts.get_intraday(symbol = 'spy', interval='1min', outputsize='full')
        data = data.rename(columns={'1. open':'Open','2. high': 'High','3. low': 'Low', '4. close':'Close', '5. volume': 'Volume'})
        data1 = data1.append(data)
        data1.to_csv('stockdata.csv', sep= ' ')
        break
    else:
        data1 = pd.DataFrame(columns=['Open','High','Low', 'Close','Volume'])
        data1.to_csv('stockdata.csv', sep= ' ')

我想做的是检查文件stockdata.csv是否在当前目录中。如果找不到,则创建文件。 如果找到该文件,则下载数据data,并将该数据附加到data1.csv文件中并保存。

问题:

1.我如何摆脱Unnamed:0专栏?为什么在那里? 2.我如何检查并删除其中的重复数据data并将其附加到data1?

展开
收起
安忆333 2019-11-28 17:04:29 784 0
1 条回答
写回答
取消 提交回答
  • 问题1: 如果要摆脱column Unnamed:0,则必须使用

    data1.drop(['Unnamed:0'], axis = 1),
    

    这将从表中删除该列。

    问题2:

    如果要删除重复的行,可以使用

    data.drop_duplicates()
    
    

    这将删除重复的行,并使第一个行保持不变。之后,你可以简单地进行操作

    pandas.concat(data1, data)
    
    
    2019-11-28 17:09:05
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
中文:即学即用的Pandas入门与时间序列分析 立即下载
即学即用的Pandas入门与时间序列分析 立即下载
低代码开发师(初级)实战教程 立即下载