小编SCo*_*ool的帖子

如何在 Spyder 4 中禁用关键字/文本建议?

特别是这个弹出框:

在此处输入图片说明

几乎每次我输入任何东西时它都会出现,这有点碍事。

我在设置中禁用了代码完成,卸载了 Kite,禁用了 Jedi。有任何想法吗?

python spyder anaconda

19
推荐指数
1
解决办法
9530
查看次数

如何在绘图中添加垂直线

我正在测试情节表达。

我有最新版本:0.4.1

我试图在他们的教程中绘制最基本的图表,但它抛出了一个错误:

import plotly.express as px

df = px.data.iris()
fig = px.scatter(df, x="petal_length", y="petal_width")
fig.add_vline(x=2.5, line_width=3, line_dash="dash", line_color="green")
fig.add_hrect(y0=0.9, y1=2.6, line_width=0, fillcolor="red", opacity=0.2)
fig.show()


AttributeError: 'Figure' object has no attribute 'add_vline'
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

我想做的就是开始add_vline工作。

这是操作指南的第二个示例:https://plotly.com/python/horizo​​ntal -vertical-shapes/

python plotly

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

将 Geopandas 多多边形转换为多边形

我有一个具有多边形几何形状的地理数据框:

在此输入图像描述

我想将它们转换为多边形,即填充多多边形的孔并使其成为单个多边形。

我已经尝试过这个类似问题的代码:


from shapely.geometry import MultiPolygon, Polygon
gdf['Polygon'] =  gdf['SHAPE'].apply( lambda x: MultiPolygon(Polygon(p.exterior) for p in x))

Run Code Online (Sandbox Code Playgroud)

但我收到错误:

TypeError: 'Polygon' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)

我尝试过堆栈溢出的其他解决方案,但没有成功。

有任何想法吗?

以下是数据类型:

FID                 int64
LHO                object
Shape__Area       float64
Shape__Length     float64
SHAPE            geometry
Run Code Online (Sandbox Code Playgroud)

这是获取 shapefile 的完整代码:


import pandas as pd
import geopandas as gpd
from arcgis import GIS
gis = GIS(verify_cert=False,api_key='your_api_key')

search_result = gis.content.search(query="title:National_LHO", item_type="Feature Layer")

# get layer
layer = search_result[0].layers[0]

# dataframe from layer
df= pd.DataFrame.spatial.from_layer(layer)

gdf = gpd.GeoDataFrame(df)

gdf = gdf.set_geometry('SHAPE') …
Run Code Online (Sandbox Code Playgroud)

python shapely geopandas

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

如何在 hvPlot 图中禁用科学记数法?

我今天刚刚开始使用 hvPlot,作为面板的一部分。

\n

我很难弄清楚如何在我的图中禁用科学记数法。例如,这是一个简单的条形图。轴和工具尖采用科学记数法。如何将格式更改为简单 int?

\n

在此输入图像描述

\n

我正在向非数字和非技术管理人员展示这一点。他们宁愿只看到基本整数,而我不想向他们解释科学计数法是什么。

\n

我在文档中找不到任何可以帮助我的内容:https ://hvplot.holoviz.org/user_guide/Customization.html

\n

I\xe2\x80\x99ve 还尝试拼凑 Bokeh 文档中的建议。

\n

我无法弄清楚\xe2\x80\x99。请帮忙!谢谢

\n

我的简单 df:

\n
   local_date      amount\n0      Jan 19   506124.98\n1      Feb 19   536687.28\n2      Mar 19   652279.31\n3      Apr 19   629440.06\n4      May 19   703527.00\n5      Jun 19   724234.08\n6      Jul 19   733413.32\n7      Aug 19   758647.44\n8      Sep 19   782676.16\n9      Oct 19   833674.28\n10     Nov 19   864649.74\n11     Dec 19   849920.47\n12     Jan 20   857732.52\n13     Feb 20   927399.50\n14     Mar 20  1152440.49\n15     Apr 20  1285779.35\n16     May 20  1431744.76\n17     Jun 20  1351893.95\n18     Jul …
Run Code Online (Sandbox Code Playgroud)

python bokeh hvplot holoviz

9
推荐指数
1
解决办法
1899
查看次数

如何同时将多个掩码应用于数据帧?

我为我的 设定了三个掩码df,我想过滤掉这些值。

例如,一些随机掩码:

mask1 = df['column1'].isnull()
mask2 = df['column2'] > 5
mask3 = df['column3'].str.contains('hello')
Run Code Online (Sandbox Code Playgroud)

现在我如何组合这些掩码来过滤这些值?这是正确的方法吗?同时使用~|?

masked_df = df[~mask1 | ~mask2 | ~mask3]
Run Code Online (Sandbox Code Playgroud)

我的数据框中有很多行,我无法 100% 确定手动检查是否正确。

python pandas

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

是否通过除以 255 个训练集和测试集之间的泄漏信息来标准化图像?

我已经看到在 CNN 在线教程中多次使用除以 255 作为归一化,这是在训练测试拆分之前在整个数据集上完成的。

我的印象是测试集应该根据训练集的均值/标准/最大值等进行归一化。通过在整个数据集上使用 /255,显然我们让训练集对测试集有了感觉。真的吗?

这里的正确方法是什么?

这个:

x_train = (x_train - x_train_mean)/x_train_std
x_test = (x_test - x_test_mean)/x_test_std
Run Code Online (Sandbox Code Playgroud)

或这个:

x_train = (x_train - x_train_mean)/x_train_std
x_test = (x_test - x_train_mean)/x_train_std
Run Code Online (Sandbox Code Playgroud)

或这个:

data/255
Run Code Online (Sandbox Code Playgroud)

谢谢

我被要求提供我尝试过的背景:这似乎无法搜索,我还没有找到任何关于它的讨论。

编辑:只是另一个想法。

因为训练集和测试集已经在相同的尺度上(即每个像素从 0-255)我假设除以 255 没有区别,现在它们在相同的尺度上,但是从 0-1。

image neural-network conv-neural-network keras

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

如果特定的其他列不为空,如何删除重复项但保留行(熊猫)

我有很多重复的记录-其中一些有银行帐户。我想用银行帐户保存记录。

基本上像这样:

if there are two Tommy Joes:
     keep the one with a bank account
Run Code Online (Sandbox Code Playgroud)

我尝试使用下面的代码进行重复数据删除,但是它保留了没有银行帐户的重复数据。

df = pd.DataFrame({'firstname':['foo Bar','Bar Bar','Foo Bar','jim','john','mary','jim'],
                   'lastname':['Foo Bar','Bar','Foo Bar','ryan','con','sullivan','Ryan'],
                   'email':['Foo bar','Bar','Foo Bar','jim@com','john@com','mary@com','Jim@com'],
                   'bank':[np.nan,'abc','xyz',np.nan,'tge','vbc','dfg']})


df


  firstname  lastname     email bank
0   foo Bar   Foo Bar   Foo bar  NaN  
1   Bar Bar       Bar       Bar  abc
2   Foo Bar   Foo Bar   Foo Bar  xyz
3       jim      ryan   jim@com  NaN
4      john       con  john@com  tge
5      mary  sullivan  mary@com  vbc
6       jim      Ryan   Jim@com  dfg



# get the index …
Run Code Online (Sandbox Code Playgroud)

python duplicates pandas

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

Google Geocode api 未返回某些“直接命中”地址的 postal_code

这些似乎并非如此,partial_matches所以我想知道为什么它没有带回所有数据,特别是postal_code.

通过仔细检查谷歌地图,这就是我想要的确切地址。换句话说,就是直接打击。

Python代码:

address = '34 new street, Green road, Carlow'

geocode_url = "https://maps.googleapis.com/maps/api/geocode/json?address={}&key={}".format(address,api_key)

# Ping google for the reuslts:
results = requests.get(geocode_url)
# Results will be in JSON format - convert to dict using requests functionality
results = results.json()
Run Code Online (Sandbox Code Playgroud)

以及结果。这里应该有postal_code数据吧?没什么可说的,这只是一场部分比赛。

{'results': [{'address_components': [{'long_name': '34',
     'short_name': '34',
     'types': ['street_number']},
    {'long_name': 'New Street', 'short_name': 'New St', 'types': ['route']},
    {'long_name': 'Moanacurragh',
     'short_name': 'Moanacurragh',
     'types': ['neighborhood', 'political']},
    {'long_name': 'Carlow',
     'short_name': 'Carlow',
     'types': ['locality', 'political']},
    {'long_name': 'County Carlow', …
Run Code Online (Sandbox Code Playgroud)

python google-maps google-maps-api-3 google-geocoder

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

在函数中“就地”编辑数据框,或返回编辑后的数据框?

我目前正在开发一个更新数据框的功能。

我可以通过两种方式做到这一点。

示例 1:就地编辑。

创建数据框

mydf = pd.DataFrame({'name':['jim','john','mary','michael'],
                    'age':[12,46,44,32]})

      name  age
0      jim   12
1     john   46
2     mary   44
3  michael   32
Run Code Online (Sandbox Code Playgroud)

我们将进行以下编辑:

  1. 如果名称以 开头j,请添加'smith'到名称中。

  2. 如果年龄大于 40 岁,则乘以 2。

def modify(df):

    for i in range(len(df)):

        # if age is >40
        if df.loc[i,'age'] > 40:

            # multiply it by 2
            df.loc[i,'age'] = df.loc[i,'age']*2

        # get the name
        name = df.loc[i,'name']

        # if it starts with 'j'
        if name[0]=='j':

            # add 'smith' to the name
            name …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何加快对数百万行的多个 str.contains 搜索?

我有一个我试图标准化的商店名称数据框。在这里测试的小样本:

import pandas as pd

df = pd.DataFrame({'store': pd.Series(['McDonalds', 'Lidls', 'Lidl New York 123', 'KFC', 'Lidi Berlin', 'Wallmart LA 90210', 'Aldi', 'London Lidl', 'Aldi627', 'mcdonaldsabc123', 'Mcdonald_s', 'McDonalds12345', 'McDonalds5555', 'McDonalds888', 'Aldi123', 'KFC-786', 'KFC-908', 'McDonalds511', 'GerALDInes Shop'],dtype='object',index=pd.RangeIndex(start=0, stop=19, step=1)), 'standard': pd.Series([pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan, pd.np.nan],dtype='float64',index=pd.RangeIndex(start=0, stop=19, step=1))}, index=pd.RangeIndex(start=0, stop=19, step=1))

                store  standard
0           McDonalds       NaN
1               Lidls       NaN
2   Lidl New York 123       NaN
3                 KFC       NaN
4 …
Run Code Online (Sandbox Code Playgroud)

python regex pandas

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