我在使用Pandas"to_html"方法应用"classes"参数来设置DataFrame样式时遇到了麻烦.
"classes:str或list或tuple,默认无CSS类(es)应用于生成的html表"来自:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_html. HTML
我可以像这样呈现样式化的DataFrame(例如):
df = pd.DataFrame([[1, 2], [1, 3], [4, 6]], columns=['A', 'B'])
myhtml = df.style.set_properties(**{'font-size': '11pt', 'font-family': 'Calibri','border-collapse': 'collapse','border': '1px solid black'}).render()
with open('myhtml.html','w') as f:
f.write(myhtml)
Run Code Online (Sandbox Code Playgroud)
如何使用带有"to_html"的"classes"来设置数据框架的html输出,如下所示:
df.to_html('myhtml.html',classes=<something here>)
Run Code Online (Sandbox Code Playgroud) Folium文档目前尚未完成:https://folium.readthedocs.io/en/latest/
根据不完整文档的索引,传说和图层是或将得到支持.我花了一些时间在网上寻找例子但到目前为止没有找到任何结果.如果有人知道如何创建这些东西,或者可以指向我的文档或教程,我将非常感激.
使用请求我正在创建一个.csv格式的对象.然后我怎么能用pandas将该对象写入DataFrame?
以文本格式获取请求对象:
import requests
import pandas as pd
url = r'http://test.url'
r = requests.get(url)
r.text #this will return the data as text in csv format
Run Code Online (Sandbox Code Playgroud)
我试过(不起作用):
pd.read_csv(r.text)
pd.DataFrame.from_csv(r.text)
Run Code Online (Sandbox Code Playgroud) 也许groupby是错误的方法.似乎它应该工作,但我没有看到它......
我想根据结果对一个事件进行分组.这是我的DataFrame(df):
Status Event
SUCCESS Run
SUCCESS Walk
SUCCESS Run
FAILED Walk
Run Code Online (Sandbox Code Playgroud)
这是我想要的结果:
Event SUCCESS FAILED
Run 2 1
Walk 0 1
Run Code Online (Sandbox Code Playgroud)
我正在尝试制作一个分组对象,但我无法弄清楚如何调用它来显示我想要的东西.
grouped = df['Status'].groupby(df['Event'])
Run Code Online (Sandbox Code Playgroud) 这些资源显示如何从单个Pandas DataFrame中获取数据,并在Plotly图上绘制不同的列子图.我有兴趣从单独的DataFrames创建数字,并将它们绘制为与子图相同的图形.Plotly可以实现吗?
https://plot.ly/python/subplots/
https://plot.ly/pandas/subplots/
我正在从像这样的数据框创建每个图:
import pandas as pd
import cufflinks as cf
from plotly.offline import download_plotlyjs, plot,iplot
cf.go_offline()
fig1 = df.iplot(kind='bar',barmode='stack',x='Type',
y=mylist,asFigure=True)
Run Code Online (Sandbox Code Playgroud)
编辑:以下是基于Naren反馈的示例:
创建数据帧:
a={'catagory':['loc1','loc2','loc3'],'dogs':[1,5,6],'cats':[3,1,4],'birds':[4,12,2]}
df1 = pd.DataFrame(a)
b={'catagory':['loc1','loc2','loc3'],'dogs':[12,3,5],'cats':[4,6,1],'birds':[7,0,8]}
df2 = pd.DataFrame(b)
Run Code Online (Sandbox Code Playgroud)
情节将只显示狗的信息,而不是鸟类或猫:
fig = tls.make_subplots(rows=2, cols=1)
fig1 = df1.iplot(kind='bar',barmode='stack',x='catagory',
y=['dogs','cats','birds'],asFigure=True)
fig.append_trace(fig1['data'][0], 1, 1)
fig2 = df2.iplot(kind='bar',barmode='stack',x='catagory',
y=['dogs','cats','birds'],asFigure=True)
fig.append_trace(fig2['data'][0], 2, 1)
iplot(fig)
Run Code Online (Sandbox Code Playgroud)
在Bokeh指南中,可以创建各种条形图的示例.http://bokeh.pydata.org/en/0.10.0/docs/user_guide/charts.html#id4
这段代码将创建一个:
from bokeh.charts import Bar, output_file, show
from bokeh.sampledata.autompg import autompg as df
p = Bar(df, 'cyl', values='mpg', title="Total MPG by CYL")
output_file("bar.html")
show(p)
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否可以将数据标签添加到图表的每个单独栏中?我在网上搜索但找不到明确的答案.
我想为Seaborn生成的因子图添加数据标签.这是一个例子:
import pandas as pd
from pandas import Series, DataFrame
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
titanic_df = pd.read_csv('train.csv')
sns.factorplot('Sex',data=titanic_df,kind='count')
Run Code Online (Sandbox Code Playgroud)
如何将"计数"值添加到图表上每个条形的顶部?
我可以使用以下代码创建一个 html 文件:
with open(file_loc+'file.html', 'w') as html:
html.write(s.set_table_attributes("border=1").render())
Run Code Online (Sandbox Code Playgroud)
如何在不创建文件的情况下在 Jupyter Notebooks 中显示输出?
如果我只是尝试在 Jupyter 中渲染它(如下所示),那么它会显示 html 代码,而不是显示我在浏览器中看到的所需输出:
from IPython.core.display import display, HTML
s.set_table_attributes("border=1").render()
Run Code Online (Sandbox Code Playgroud) 我想读取一个 .csv 文件并返回一个 groupby 函数作为回调,以显示为带有“dash_table”库的简单数据表。@Lawliet 的有用答案显示了如何使用“dash_table_experiments”库来做到这一点。这是我被困的地方:
import pandas as pd
import dash
import dash_core_components as dcc
import dash_html_components as html
import dash_table
from dash.dependencies import Input, Output, State
df = pd.read_csv(
'https://gist.githubusercontent.com/chriddyp/'
'c78bf172206ce24f77d6363a2d754b59/raw/'
'c353e8ef842413cae56ae3920b8fd78468aa4cb2/'
'usa-agricultural-exports-2011.csv')
app = dash.Dash()
application = app.server
app.layout = html.Div([
dash_table.DataTable(
id = 'datatable',
),
html.Div([
html.Button(id='submit-button',
children='Submit'
)
]),
])
@app.callback(Output('datatable','data'),
[Input('submit-button','n_clicks')],
[State('submit-button','n_clicks')])
def update_datatable(n_clicks,csv_file):
if n_clicks:
dfgb = df.groupby(['state']).sum()
return dfgb.to_dict('rows')
if __name__ == '__main__':
application.run(debug=False, port=8080)
Run Code Online (Sandbox Code Playgroud) 我有多个要执行相同操作的数据框。
首先,我创建一个DataFrames列表。它们都具有称为“结果”的同一列。
df_list = [df1,df2,df3]
Run Code Online (Sandbox Code Playgroud)
我只想在所有DataFrame中保留行“ passed”的行,所以我在列表上使用了for循环:
for df in df_list:
df =df[df['result'] == 'passed']
Run Code Online (Sandbox Code Playgroud)
...这不起作用,不会从每个DataFrame中筛选出值。
如果我分别过滤每个过滤器,那么它确实起作用。
df1 =df1[df1['result'] == 'passed']
df2 =df2[df2['result'] == 'passed']
df3 =df3[df3['result'] == 'passed']
Run Code Online (Sandbox Code Playgroud) 鉴于此DataFrame:
df = pd.DataFrame([['August', 2], ['July', 3], ['Sept', 6]], columns=['A', 'B'])
Run Code Online (Sandbox Code Playgroud)
我想按顺序对A列进行排序:7月,8月,9月.是否有某种方法可以使用类似"sort_values"的排序函数,但是按值预先定义排序顺序?
我正在使用 pandas.DataFrame.plot 生成带有表格的条形图。
有没有办法格式化表格中的表格大小和/或字体大小以使其更具可读性?
我的数据帧(dfexe):
City State Waterfalls Lakes Rivers
LA CA 2 3 1
SF CA 4 9 0
Dallas TX 5 6 0
Run Code Online (Sandbox Code Playgroud)
创建带有表格的条形图:
myplot = dfex.plot(x=['City','State'],kind='bar',stacked='True',table=True)
myplot.axes.get_xaxis().set_visible(False)
Run Code Online (Sandbox Code Playgroud)
如果我有两个if语句后跟一个else,那么第一个语句基本上被忽略了:
x = 3
if x == 3:
test = 'True'
if x == 5:
test = 'False'
else:
test = 'Inconclusive'
print(test)
Run Code Online (Sandbox Code Playgroud)
返回:
Inconclusive
Run Code Online (Sandbox Code Playgroud)
在我看来,因为第一个if语句是True,所以结果应该是"True".为了使其发生,必须将第二个if语句更改为"elif".有谁知道为什么?
python ×13
pandas ×7
dataframe ×4
matplotlib ×2
bokeh ×1
csv ×1
folium ×1
if-statement ×1
plotly ×1
plotly-dash ×1
seaborn ×1