我试图从互联网上提取一些数据,然后将其导出为CSV文件,但我在CSV文件中丢失了我的日期信息.我无法弄清楚为什么.我是R的新手,所以请保持简单回复.这是我的代码:
Library(quantmod)
getSymbols("SPY", from = "2012-01-01", to = "2012-12-31")
write.csv(SPY, "C:/SPY.csv")
Run Code Online (Sandbox Code Playgroud) 我有一个函数可以将字符串日期转换为列表列表中值的日期时间.并非所有值都是字符串日期,所以我使用的是try和except ValueError函数.对于不是字符串日期的东西,我想什么也不做,但代码覆盖了值None.
import datetime
def parse_date(datestamp):
try:
return datetime.datetime.strptime(str(datestamp)[:10], '%Y-%m-%d')
except ValueError:
pass
My_List = [['ID1', '2015-1-12'], ['ID2', '2015-12-12']]
My_List = [[parse_date(x) for x in i] for i in My_List]
print My_List
Run Code Online (Sandbox Code Playgroud)
期望的输出:
[[ID1, datetime.datetime(2015, 1, 12, 0, 0)], [ID2, datetime.datetime(2015, 12, 12, 0, 0)]]
Run Code Online (Sandbox Code Playgroud) 我想更换items[1],items[2],items[3]基于价值是否是无一个布尔值.这工作,但消除了items[0],items[4],items[5]从输出.我可以插入/追加值,但我认为必须有一种方法可以在一行中完成.
my_list = [[10,30,None,20,30,40],[10,20,None,10,30,40]]
booleans = [[1 if item is None else 0 for item in each_list[1:-2]] for each_list in my_list]
print booleans
Run Code Online (Sandbox Code Playgroud)
预期产出:
[[10, 0, 1, 0, 30, 40], [10, 0, 1, 0, 30, 40]]
Run Code Online (Sandbox Code Playgroud) 我试图将堆栈图的线条颜色设置为白色,但我研究的解决方案似乎不起作用。还有哪些其他选择?
from matplotlib import pyplot as plt
y = [1,3,5]
x = [0,1,2]
fig, ax = plt.subplots()
ax.stackplot(x, y)
ax.fill_between(x, y, facecolor='#ededed')
plt.show()
Run Code Online (Sandbox Code Playgroud) 我有一个使用Datatable库的简单示例。我有它与JSFiddle(http://jsfiddle.net/3hhn7y7f/)一起使用,但是当我尝试对实际文件进行处理时,出现以下错误。我已经JQuery在<script>标记中定义了,所以我不知道问题出在哪里。
Uncaught ReferenceError: jQuery is not defined
Uncaught TypeError: $(...).DataTable is not a function
HTML文件
<html>
<head>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.8/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="script.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.8/css/jquery.dataTables.min.css">
</head>
<body>
<table id="example" class="display" width="100%"></table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
script.js
var dataSet = [
[ "Tiger Nixon", "System Architect", "Edinburgh", "5421", "2011/04/25", "$320,800" ],
[ "Garrett Winters", "Accountant", "Tokyo", "8422", "2011/07/25", "$170,750" ],
[ "Ashton Cox", "Junior Technical Author", "San Francisco", "1562", "2009/01/12", "$86,000" ], …Run Code Online (Sandbox Code Playgroud) 我有一个Pandas数据框,我想转换为列表,其中每个子列表是数据帧中的一行.我如何还包括索引值,以便稍后可以将其输出到PDF表格ReportLab
import pandas as pd
df = pd.DataFrame(index=['Index 1', 'Index 2'],
data=[[1,2],[3,4]],
columns=['Column 1', 'Column 2'])
list = [df.columns[:,].values.astype(str).tolist()] + df.values.tolist()
print list
Run Code Online (Sandbox Code Playgroud)
输出:
[['Column 1', 'Column 2'], [1L, 2L], [3L, 4L]]
Run Code Online (Sandbox Code Playgroud)
期望的输出:
[['Column 1', 'Column 2'], ['Index 1', 1L, 2L], ['Index 2', 3L, 4L]]
Run Code Online (Sandbox Code Playgroud) 我无法理解ReportLab表格样式的坐标系.
根据他们的文件:
每个命令的第一个元素是其标识符,第二个和第三个参数确定受到负值坐标影响的单元格框的单元格坐标,如Python索引中那样从限制值向后计数.
坐标为(列,行),它遵循电子表格'A1'模型,但不是更自然(对于数学家)'RC'排序.左上角的单元格是(0,0),右下角是(-1,-1)
如果右下角总是(-1,-1),这是否意味着中间行和列是小数?这似乎没有意义.给出以下示例,位置(1,1)处的绿色开始是如何坐标系从0到-1以及第二个坐标系(-2,-2)如何从原点位置偏移?
from reportlab.lib import colors
from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle
doc = SimpleDocTemplate("simple_table.pdf", pagesize=letter)
# container for the 'Flowable' objects
elements = []
data= [['00', '01', '02', '03', '04'],
['10', '11', '12', '13', '14'],
['20', '21', '22', '23', '24'],
['30', '31', '32', '33', '34']]
t=Table(data)
t.setStyle(TableStyle([('BACKGROUND',(1,1),(-2,-2),colors.green),
('TEXTCOLOR',(0,0),(1,-1),colors.red)]))
elements.append(t)
# write the document to disk
doc.build(elements)
Run Code Online (Sandbox Code Playgroud)
我有一个生成PDF的功能,我有一个Flask网站.我想将两者结合起来,以便在您访问该网站时生成并下载PDF.我正在努力组合我不完全理解的各种代码.生成并下载PDF但在尝试打开时无法加载.我错过了什么?
import cStringIO
from reportlab.lib.enums import TA_JUSTIFY
from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Paragraph
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from flask import make_response, Flask
from reportlab.pdfgen import canvas
app = Flask(__name__)
@app.route('/')
def pdf():
output = cStringIO.StringIO()
doc = SimpleDocTemplate("test.pdf",pagesize=letter)
Story=[]
styles=getSampleStyleSheet()
styles.add(ParagraphStyle(name='Justify', alignment=TA_JUSTIFY))
ptext = '<font size=12>test</font>'
Story.append(Paragraph(ptext, styles["Justify"]))
doc.build(Story)
pdf_out = output.getvalue()
output.close()
response = make_response(pdf_out)
response.headers['Content-Disposition'] = "attachment; filename='test.pdf"
response.mimetype = 'application/pdf'
return response
app.run()
Run Code Online (Sandbox Code Playgroud) 我有一个Dataframe在Pandas同一个字母和两个日期为列。我想使用 计算前一行的两个日期列之间的工作日shift(),前提是Letter值相同(使用 a .groupby())。我正在用.apply(). 这一直有效,直到我传入了一些缺少日期之一的数据。我将所有内容都移到了一个函数中,以使用try/except子句处理缺失值,但现在我的函数返回NaN了所有内容。看来Nonedate的值会影响函数的每次调用,而我认为它只会在Letterfrom the .groupby()is时才会这样做A。
import pandas as pd
from datetime import datetime
import numpy as np
def business_days(x):
try:
return pd.DataFrame(np.busday_count(x['First Date'].tolist(), x['Last Date'].tolist())).shift().reset_index(drop=True)
except ValueError:
return None
df = pd.DataFrame(data=[['A', datetime(2016, 1, 7), None],
['A', datetime(2016, 3, 1), datetime(2016, 3, 8)],
['B', datetime(2016, 5, 1), datetime(2016, 5, 10)],
['B', datetime(2016, 6, 5), datetime(2016, 6, …Run Code Online (Sandbox Code Playgroud) 我想在pandas数据框中设置一个等于字典的单元格,其中同一行中的另一列等于1。我df.loc用来过滤行。由于我的字典有两个键,因此只有在通过进行的过滤df.loc也有两个键的情况下,它才有效。如果没有两个键,我得到ValueError: Must have equal len keys and value when setting with an iterable。
我不明白为什么这两件事是相关的。
import pandas as pd
df = pd.DataFrame(data=[[1,2], [0,3], [3,4]], columns=['Col1', 'Col2'])
#df = pd.DataFrame(data=[[1,2], [1,3], [3,4]], columns=['Col1', 'Col2'])
df.loc[df["Col1"]==1, "Col2"] = {'key1': 'A',
'key2': 'B'}
print df
Run Code Online (Sandbox Code Playgroud)
如果我取消注释第三行代码,则希望产生以下结果。
Col1 Col2
0 1 {u'key2': u'B', u'key1': u'A'}
1 1 {u'key2': u'B', u'key1': u'A'}
2 3 4
Run Code Online (Sandbox Code Playgroud)
在将此标记为重复之前,我已经看到有关此熊猫错误的其他问题,但似乎没有一个问题可以专门解决此问题。
python ×8
python-2.7 ×7
pandas ×3
dataframe ×2
reportlab ×2
csv ×1
datatables ×1
date ×1
dictionary ×1
flask ×1
html ×1
javascript ×1
jquery ×1
matplotlib ×1
pdf ×1
quantmod ×1
r ×1
slice ×1