小编spa*_*row的帖子

使用to_html将CSS类应用于Pandas DataFrame

我在使用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)

python dataframe pandas

31
推荐指数
3
解决办法
2万
查看次数

在Folium地图上创建一个图例

Folium文档目前尚未完成:https://folium.readthedocs.io/en/latest/

根据不完整文档的索引,传说和图层是或将得到支持.我花了一些时间在网上寻找例子但到目前为止没有找到任何结果.如果有人知道如何创建这些东西,或者可以指向我的文档或教程,我将非常感激.

python folium

10
推荐指数
4
解决办法
6787
查看次数

使用pandas将文本数据从请求对象转换为数据帧

使用请求我正在创建一个.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)

python csv dataframe pandas python-requests

10
推荐指数
3
解决办法
2万
查看次数

在Pandas中使用groupby可以将一列中的内容与另一列进行比较

也许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)

python dataframe pandas

7
推荐指数
4
解决办法
796
查看次数

Plotly:将多个数字绘制为子图

这些资源显示如何从单个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)

只显示狗,而不是猫或鸟:

python plotly

7
推荐指数
4
解决办法
1万
查看次数

如何在Bokeh的条形图中添加数据标签?

在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)

我的问题是,是否可以将数据标签添加到图表的每个单独栏中?我在网上搜索但找不到明确的答案.

python bokeh

6
推荐指数
2
解决办法
9757
查看次数

将数据标签添加到Seaborn因子图

我想为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)

此图像已创建

如何将"计数"值添加到图表上每个条形的顶部?

python matplotlib seaborn

6
推荐指数
2
解决办法
1万
查看次数

在 Jupyter 笔记本中显示 .html 文件的输出

我可以使用以下代码创建一个 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)

python jupyter-notebook

6
推荐指数
2
解决办法
2万
查看次数

从带有 Plotly Dash for Python 的回调中将 Pandas DataFrame 作为 data_table 返回

我想读取一个 .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)

python pandas plotly-dash

5
推荐指数
1
解决办法
2万
查看次数

将for循环应用于Pandas中的多个DataFrame

我有多个要执行相同操作的数据框。

首先,我创建一个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)

python dataframe pandas

4
推荐指数
1
解决办法
4413
查看次数

按特定顺序对Pandas DataFrame中的列进行排序

鉴于此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"的排序函数,但是按值预先定义排序顺序?

python pandas

4
推荐指数
4
解决办法
1392
查看次数

使用 pandas.DataFrame.plot 格式化添加到绘图中的表

我正在使用 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)

输出: 在此处输入图片说明

python matplotlib pandas

0
推荐指数
1
解决办法
2878
查看次数

Python第二个"if语句"否定了第一个

如果我有两个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 if-statement

-8
推荐指数
1
解决办法
607
查看次数