我在想,如果有调用的可能性idxmin,并min在同一时间(在相同的呼叫/循环)。
假设以下数据框:
id option_1 option_2 option_3 option_4
0 0 10.0 NaN NaN 110.0
1 1 NaN 20.0 200.0 NaN
2 2 NaN 300.0 30.0 NaN
3 3 400.0 NaN NaN 40.0
4 4 600.0 700.0 50.0 50.0
Run Code Online (Sandbox Code Playgroud)
我想计算该系列的最小值(min)和包含最小值的列(idxmin)option_:
id option_1 option_2 option_3 option_4 min_column min_value
0 0 10.0 NaN NaN 110.0 option_1 10.0
1 1 NaN 20.0 200.0 NaN option_2 20.0
2 2 NaN 300.0 30.0 NaN option_3 30.0
3 …Run Code Online (Sandbox Code Playgroud) 如果之前有人问过,请道歉,不知怎的,我无法找到答案.
假设我有两个值列表:
rows = [0,1,2]
cols = [0,2,3]
Run Code Online (Sandbox Code Playgroud)
它分别代表行和列的索引.这两个列表在矩阵中组合了表示的坐标,即(0,0),(1,2),(2,3).
我想使用这些坐标来改变dataframe不使用循环的特定单元格.
在numpy中,这是微不足道的:
data = np.ones((4,4))
data[rows, cols] = np.nan
array([[nan, 1., 1., 1.],
[ 1., 1., nan, 1.],
[ 1., 1., 1., nan],
[ 1., 1., 1., 1.]])
Run Code Online (Sandbox Code Playgroud)
但在熊猫中,我似乎陷入了一个循环:
df = pd.DataFrame(np.ones((4,4)))
for _r, _c in zip(rows, cols):
df.iat[_r, _c] = np.nan
Run Code Online (Sandbox Code Playgroud)
有没有办法用于列出类似坐标索引的向量来直接修改pandas中的单元格?
请注意,答案不是使用iloc,而是选择整个行和列的交集.
chartJS 插件的文档可以在这里找到,但是它不完整,因为没有对每个钩子的完整描述:
afterInitbeforeUpdate (cancellable)afterUpdatebeforeLayout (cancellable)afterLayoutbeforeDatasetsUpdate (cancellable)afterDatasetsUpdatebeforeDatasetUpdate (cancellable)afterDatasetUpdatebeforeRender (cancellable)afterRenderbeforeDraw (cancellable)afterDrawbeforeDatasetsDraw (cancellable)afterDatasetsDrawbeforeDatasetDraw (cancellable)afterDatasetDrawbeforeEvent (cancellable)afterEventresizedestroy这个列表可以总结为以下功能,但顺序对我来说不清楚:
一些名字可能知道钩子的执行顺序是什么。
我想在图表上实现在数据的某些条件下激活的几种行为,例如,我想在没有可用数据时更新图例标签,因此,而不是在图例中显示类别的名称,它会显示一条消息,说没有数据。
可以肯定的是,我已经设法实现了 plugins,但是由于我不清楚顺序,因此由于顺序,我总是把事情搞混。
我希望从对象获得绑定表单以使用is_valid方法.原因是我有一些旧数据,我希望用户根据新的验证规则进行更正.然后,我想在我的表单中重用clean方法的代码.
我最终序列化了我的回复:
from django.utils import simplejson
from django.core.serializers import serialize
(...)
fields_dict = simplejson.loads(serialize('json', [obj]))[0]['fields']
form = forms.MyForm(fields_dict)
if form.is_valid
Run Code Online (Sandbox Code Playgroud)
这可行,但它似乎不是很Djangish.此外,它似乎是一个常见的问题,所以我正在寻找一个更好的方法来做到这一点.
根据文档,从未绑定到未绑定的转换数据不会发生:https: //docs.djangoproject.com/en/dev/topics/forms/modelforms/#the-save-method 但是,这将是最简单的解决方案为了我.
我是使用Kivy进行Android开发的新手.我创建了一个如下所示的标签结构:
from kivy.app import App
from kivy.uix.tabbedpanel import TabbedPanel
from kivy.uix.tabbedpanel import TabbedPanelHeader
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.image import Image
class TabbedPanelApp(App):
def build(self):
tb_panel= TabbedPanel()
# Create text tab
th_text_head = TabbedPanelHeader(text='Text tab')
th_text_head.content= Label(text='This is my text content')
# Create image tab
th_img_head= TabbedPanelHeader(text='Image tab')
th_img_head.content= Image(source='sample.jpg',pos=(400, 100), size=(400, 400))
# Create button tab
th_btn_head = TabbedPanelHeader(text='Button tab')
th_btn_head.content= Button(text='This is my button',font_size=20)
tb_panel.add_widget(th_text_head)
tb_panel.add_widget(th_img_head)
tb_panel.add_widget(th_btn_head)
return tb_panel
if __name__ == '__main__':
TabbedPanelApp().run() …Run Code Online (Sandbox Code Playgroud) 我想介绍普通的HTML,而不需要任何编辑器(wymeditor或tinymce).我知道Django-CMS附带Wymeditor但我的问题是复制和粘贴文本很烦人.即使没有格式,Wymeditor也喜欢在我复制时添加样式(没有任何格式).有时候,我甚至不需要在占位符中使用另一个段落(并且它与我的风格混淆).
有没有办法摆脱编辑?此外,有没有办法摆脱特定占位符的编辑器?有时我确实需要它.
注意:我知道我可以创建自己的插件field.textfield(并且它不使用编辑器),但我想使用相同的插件,因为如果我更改插件,我将不得不手动移动所有文本数据库(生产和开发).
我正在为Windows和Mac开发一个应用程序,我需要一些帮助,我应该如何组织输入数据的文件结构(例如配置文件),以便我可以很容易地使用它.
我有一个非常简单的程序,从目录中读取一些数据data.在Windows中我创建了一个example.exe与data文件夹住在它旁边.如果用户需要处理更多数据(通过电子邮件接收),她只需将文件放在文件夹中并双击即可example.exe.
我设法创建了DMG,但我不知道在哪里放数据文件夹.硬编码另一个文件夹(例如HOME或Desktop)可以工作,但它感觉不对.我想有一个Button打开一个Dialog来指定文件夹,但是我需要保存下次用户打开应用程序时的路径.为了保存此路径,我需要一个配置文件或工作区.所以,我需要一个可以找到配置文件的路径.
这将是预期的行为从Mac的可用性的角度来看,如何我会去了解它的目录位置和配置文件的条款?
Kivy文档指出"Kivy中的每个小部件默认都有他们的Canvas".然而,在实践中,小部件似乎持有对整个窗口的共享画布的引用,而不是仅为自己创建一个.
这变得更加清晰,当我使用context_instrucions的Rotate,Translate或Scale.如果我Rotate在特定内部Widget,它将影响后续小部件.一切似乎都在旋转.Rotate在绘制任何其他内容之前,我必须取消画布.而且,如果它在旋转的画布中或下一个画布中并不重要.指令也是如此Color.
对此默认行为施加和例外的唯一方法似乎是RelativeLayout.在那种情况下,我所说的所有内容RelativeLayout都Color与继续全球化的外部相关.可以说Color不是定位指令而RelativeLayout只是相对于位置.Rotate并且Translate是位置说明但是它Scale?
我实际上只是通过一个具体的例子完成了一篇博文
我显然错过了每个Widget的部分都有自己的东西canvas.所以,基本上我的问题是为什么小部件似乎在Kivy中共享相同的画布?
我想知道是否有一种快速的方法来找到每行的leftest非null值的索引numpy矩阵.
免得说我有这个:
data = np.array([[np.nan, np.nan, 10, 1],
[np.nan, 30, 50, np.nan],
[40, np.nan, np.nan, 5],
[np.nan, np.nan, np.nan, 10]])
Run Code Online (Sandbox Code Playgroud)
我想分别返回10,30,40和10的索引,即2,1,0和3.
以下工作,但它不是很有效(例如,fn函数内部的循环很慢):
def fn(row):
for idx, v in enumerate(row):
if not np.isnan(v):
return idx
np.apply_along_axis(fn, 1, data)
Run Code Online (Sandbox Code Playgroud) 我基本上需要知道它安装和添加到的特定应用程序的版本
INSTALLED_APPS = (
...
'the_application',
...
)
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用pip冻结.我知道当前虚拟环境中的应用程序版本.
问题是我想支持两个版本的the_application.
像settings.INSTALLED_APP ['the_application'].get_version()这样的东西就是我要找的......
我想通过使用lookupafter idxmin而不是调用minand 来节省一些时间idxmin。在我看来,第一个应该更有效,因为在第二个中,值需要搜索两次(在最小值上,另一个在最小值的索引上,即2倍O(NxM)),而在第二个中,首先,搜索索引(O(NxM)),然后使用索引查找值(O(N))
请检查此问题,以便您了解上下文以及我的推理的更多详细信息。
结果开始出乎意料,因此我进行了一些测试:
我使用了100000行x 10列的数据框(通过添加更多行,结果变得更糟):
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,100,size=(100000, 10)), columns=[f'option_{x}' for x in range(1,11)]).reset_index()
df['min_column'] = df.filter(like='option').idxmin(1)
Run Code Online (Sandbox Code Playgroud)
然后我做了一些计时:
%timeit -n 100 df.filter(like='option').min(1)
# 12.2 ms ± 599 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
%timeit -n 100 df.lookup(df.index, df['min_column'])
# 46.9 ms ± 526 µs per loop (mean ± std. dev. of 7 runs, 100 …Run Code Online (Sandbox Code Playgroud) python ×4
django ×3
pandas ×3
kivy ×2
android ×1
chart.js ×1
django-cms ×1
django-forms ×1
installation ×1
javascript ×1
macos ×1
numpy ×1
path ×1
performance ×1
python-3.x ×1
wymeditor ×1