我有一个数据框df2,看起来像:
DATE | STATUS
2018-02-01 A
2018-02-02 A
2018-02-02 B
..
2018-02-05 B
Run Code Online (Sandbox Code Playgroud)
所有值都是字符串类型。我似乎无法将日期识别为日期并绘制到堆叠条形图的x轴上。这是我徒劳的最新尝试:
import pandas as pd
from bokeh.io import curdoc
import numpy as np
from bokeh.models import ColumnDataSource, HoverTool,DatetimeTickFormatter
from bokeh.core.properties import value
from bokeh.plotting import figure
#prepare x axis
df2['DATE']=pd.to_datetime(df2['DATE'])
Months=df2["DATE"].tolist()
Months=list(set(Months)) #remove duplicates
IBs=df2["STATUS"].tolist()
IBs=list(set(IBs))
#pivot dataframe
#df2["DATE"]=df2["DATE"].str.strip() #trim values in column
df2=df2.pivot_table(index=['DATE'],columns=['STATUS'], aggfunc=len)
df2=df2.reset_index()
df2=df2.fillna(0) #replace nans with 0
#add plot
source=ColumnDataSource(data=df2)
p= figure(x_range= df2["DATE"], plot_width=700, plot_height=400, x_axis_type='datetime',
x_axis_label='Month', y_axis_label='count')
p.xaxis[0].formatter = DatetimeTickFormatter(days="%Y/%m/%d") …Run Code Online (Sandbox Code Playgroud) 有没有办法将“onclick”传递到 WTForm 字段?我想根据是否选中 WTF 复选框来启用/禁用某个字段。但 WTForms 中的 HTML 不会创建或具有“onclick”参数。
我有一个表格:
class test(Form):
checkbox=BooleanField('Checkbox')
required=TextField('Required if checked')
Run Code Online (Sandbox Code Playgroud)
我有 JS:
function disablefld(){
cb=document.getElementById('checkbox').checked;
document.getElementById('required').disabled=!cb;
}
Run Code Online (Sandbox Code Playgroud)
为该复选框生成的 HTML WTForms 为:
<input id="checkbox" name="checkbox" type="checkbox" value="y">。它不起作用,因为onclick它不存在。
我已经尝试过checkbox=BooleanField('Checkbox', onclick="disablefld()"),但这是一个意想不到的争论。这是可能的还是我应该用纯 html 制作表单?
我有一个数据框,如:
Year Month Value
2017 1 100
2017 2 1
2017 4 2
2018 3 88
2018 4 8
2019 5 87
2019 6 1
Run Code Online (Sandbox Code Playgroud)
我让数据框返回值为最大值的每一年的月份和值:
year month value
2017 1 100
2018 3 88
2019 5 87
Run Code Online (Sandbox Code Playgroud)
df=df.groupby(["Year","Month"])['Value']).max()但是,我尝试过类似的方法,它返回完整的数据集,因为每个年/月对都是独一无二的(我相信)。
我想进口curdoc。我已经尝试过from bokeh.io import curdoc,from bokeh.plotting import curdoc但是都没有用。
我已经尝试过了pip install -U bokeh,pip install bokeh但仍然返回no module named 'bokeh.plotting; 'bokeh' is not a package'。怎么了?
我现在已经恢复到0.12.1。
我有一个像这样的数据框:
TOTAL | Name
3232 Jane
382 Jack
8291 Jones
Run Code Online (Sandbox Code Playgroud)
我想在数据框中创建一个新缩放的列,SIZE其中where SIZE是5到50之间的数字。
例如:
TOTAL | Name | SIZE
3232 Jane 24.413
382 Jack 10
8291 Jones 50
Run Code Online (Sandbox Code Playgroud)
我试过了
from sklearn.preprocessing import MinMaxScaler
import pandas as pd
scaler=MinMaxScaler(feature_range=(10,50))
df["SIZE"]=scaler.fit_transform(df["TOTAL"])
Run Code Online (Sandbox Code Playgroud)
但是得到了 Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
我尝试了其他方法,例如创建列表,对其进行转换并将其附加回数据框等。
最简单的方法是什么?
谢谢!
我创建了一个视图,其中包含INNER JOINS一堆表,但根据 MySQL 规则,这些表似乎仍然可以更新,但更新数据似乎不起作用。这是 WorkBench 中所示的视图:
CREATE
ALGORITHM = UNDEFINED
VIEW `event_registrants` AS
SELECT
`event_details`.`DTT_EVT_start` AS `Event_Start`,
`attendee_meta`.`ATT_email` AS `ATT_email`,
`users`.`ID` AS `ID`,
`user_detail_tbl`.`first_name` AS `first_name`,
`user_detail_tbl`.`nickname` AS `nickname`,
`user_detail_tbl`.`last_name` AS `last_name`,
`registration`.`EVT_ID` AS `EVT_ID`,
`posts`.`post_title` AS `post_title`,
`misc_tbl`.`ANS_value` AS `ANS_value`
FROM
((((((`misc_tbl`
JOIN `registration` ON ((`misc_tbl`.`REG_ID` = `registration`.`REG_ID`)))
JOIN `event_details` ON ((`registration`.`EVT_ID` = `event_details`.`EVT_ID`)))
JOIN `posts` ON ((`posts`.`ID` = `registration`.`EVT_ID`)))
JOIN `attendee_meta` ON ((`registration`.`ATT_ID` = `attendee_meta`.`ATT_ID`)))
JOIN `users` ON ((`attendee_meta`.`ATT_email` = `users`.`user_email`)))
JOIN `user_detail_tbl` ON ((`users`.`ID` = …Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以将功率查询数据直接加载到功率枢轴中,而无需创建excel表作为中间步骤?
我发现的所有示例均参考Excel 2010和2013。尽管说明相似,但在2016年不起作用。
在执行以下步骤后。当我转到Power Pivot中的“现有连接”并尝试打开Power Query连接时。我收到一条消息:
“您要打开的连接是使用Power Query创建的。要更改此连接,请使用Power Query。”
是否可以使用Power查询清理/转换数据并将其直接加载到Excel 2016中的Power Pivot?
对 csv 进行一些转换后,我有一个数据框:
ENTRYDATE | TRANSACTIONS
2017/05/01 5
2017/05/02 20
..
2018/02/05 15
Run Code Online (Sandbox Code Playgroud)
我将它转换为熊猫中的日期时间并创建了一个带有工具提示的线图
import pandas as pd
from bokeh.models import ColumnDataSource,DatetimeTickFormatter, NumeralTickFormatter, HoverTool
from bokeh.plotting import figure
from bokeh.io import curdoc
df=pd.read_csv(r'C:\Users\file.csv')
df2=df[['ENTRYDATE']]
df2['ENTRYDATE']=pd.to_datetime(df2['ENTRYDATE'],infer_datetime_format=True)
df2=(df2.groupby([df2['ENTRYDATE'].dt.date]).size().reset_index(name='Transactions'))
#print(df2)
#print(df2.info())
source=ColumnDataSource(data=df2)
#hovertool
p=figure(plot_width=800,plot_height=500)
hover=HoverTool(tooltips=[("Date","@ENTRYDATE"),("Transactions","@Transactions")],
formatters={"ENTRYDATE":"datetime"},
mode='vline')
p.add_tools(hover)
p.scatter(x="ENTRYDATE",y="Transactions",color='blue', source=source)
p.xaxis.formatter=DatetimeTickFormatter()
p.yaxis.formatter=NumeralTickFormatter(format="0")
curdoc().add_root(p)
Run Code Online (Sandbox Code Playgroud)
出于某种原因,显示 ENTRYDATE 的工具提示实际上并未显示日期(即2017-05-01),而是显示了一些长数字(即14962752000000)。有人可以告诉我如何编辑它以便工具提示以日期格式显示日期吗?
pandas ×4
bokeh ×3
python ×3
dataframe ×1
datetime ×1
flask ×1
forms ×1
html ×1
javascript ×1
max ×1
mysql ×1
powerpivot ×1
powerquery ×1
scikit-learn ×1
sql-update ×1
view ×1
wtforms ×1