我有以下代码:
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
中下载spy ticker数据,并将该数据附加到data1
中,并将其保存在csv文件中。
问题
未命名:0
列,为什么会出现该列?对于有关添加的未命名列的第一个问题:请尝试根据同一主题上此问题的公认答案传递index=False
或index\u col=0
。这将强制pandas读取第一列作为索引,因此它不会添加额外的列。
所以你基本上有两个问题,我将逐一解决:
如果要删除列Unnamed:0
,则必须转到data1。删除(['Unnamed:0'],axis=1)
,这将从表中删除该列。
现在,如果要删除重复行,可以使用data.drop_duplicates()
,这将删除重复行并保持第一行的完整性。之后,您只需pandas.concat(data1,data)
。
您基本上需要的是在pandas文档中查找方法,这里提到的所有内容都是粗体和清晰的。希望这有帮助。
我的任务是突出显示熊猫数据框中的所有电子邮件副本。是否有一个函数用于此操作,或者有一种方法可以删除所有非重复项,从而为我留下一个很好的列表,列出数据集中的所有重复项? 该表由六列组成: 我想摆脱最后一列,因为最后一封邮件不是重复的。
问题内容: 我有一个熊猫系列,目前看起来像这样: 我想从根本上将其重塑成一个看起来像这样的数据框… 即。逻辑构造,指出每个观察(行)属于哪个类别。 我能够编写基于循环的代码来解决该问题,但是鉴于我需要处理的行数众多,这将非常缓慢。 有谁知道针对这种问题的矢量化解决方案?我将不胜感激。 编辑:有509个类别,我确实有一个清单。 问题答案:
我想从熊猫数据框中完全删除重复的项目。例如,我有数据框: 我要做的是在列中查找唯一的值,并删除所有重复的项。。因此,最终产品将如下所示(注意已消失): 谢谢。
我试图检查python列中是否包含某个值。我正在使用,这无疑是一个很好的工具。问题是我有超过350K行,输出不会显示所有行,这样我就可以看到值是否实际包含。简单地说,我只想知道(Y/N)列中是否包含特定的值。我的代码如下:
如果列表中的值存在于其中一个dataframe列中,我需要迭代列表并执行特定操作。我试着按照下面的方法做,但发现了下面的错误 '错误:#序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all() 所需输出:
我想过滤熊猫DataFrame,它从DataFrame中过滤掉除值中声明的行之外的所有其他列。我如何才能做到这一点并获得预期输出。 预期输出: