Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

3
numpy数组的argmax返回非固定索引
我正在尝试获取Numpy数组中最大元素的索引。可以使用来完成numpy.argmax。我的问题是,我想在整个数组中找到最大的元素并获取其索引。 numpy.argmax 既可以沿一个轴(不是我想要的)应用,也可以沿扁平数组(这是我想要的一种)应用。 我的问题是,当我想要多维索引时,使用numpy.argmaxwithaxis=None返回平面索引。 我可以divmod用来获取非固定索引,但这很难看。有什么更好的方法吗?

8
将可识别熊猫时区的DateTimeIndex转换为朴素的时间戳,但在特定的时区
您可以使用该函数tz_localize来识别Timestamp或DateTimeIndex时区,但是如何相反:如何在保留时区的情况下将时区识别的Timestamp转换为朴素的时间戳? 一个例子: In [82]: t = pd.date_range(start="2013-05-18 12:00:00", periods=10, freq='s', tz="Europe/Brussels") In [83]: t Out[83]: <class 'pandas.tseries.index.DatetimeIndex'> [2013-05-18 12:00:00, ..., 2013-05-18 12:00:09] Length: 10, Freq: S, Timezone: Europe/Brussels 我可以通过将其设置为None来删除时区,但是结果将转换为UTC(12点变成10): In [86]: t.tz = None In [87]: t Out[87]: <class 'pandas.tseries.index.DatetimeIndex'> [2013-05-18 10:00:00, ..., 2013-05-18 10:00:09] Length: 10, Freq: S, Timezone: …
99 python  pandas 

10
如何推迟/推迟对f弦的评估?
我正在使用模板字符串生成一些文件,为此我喜欢新的f字符串的简洁性,以减少类似以下内容的我以前的模板代码: template_a = "The current name is {name}" names = ["foo", "bar"] for name in names: print (template_a.format(**locals())) 现在,我可以直接替换变量: names = ["foo", "bar"] for name in names: print (f"The current name is {name}") 但是,有时在其他地方定义模板是有意义的-在代码中较高的位置,或者从文件或其他内容中导入模板。这意味着模板是带有格式标记的静态字符串。字符串上必须发生一些事情,以告诉解释器将字符串解释为新的f字符串,但是我不知道是否有这种事情。 有什么方法可以引入字符串并将其解释为f字符串,从而避免使用.format(**locals())调用? 理想情况下,我希望能够像这样进行编码...(magic_fstring_function我不理解的部分在哪里出现): template_a = f"The current name is {name}" # OR [Ideal2] template_a = magic_fstring_function(open('template.txt').read()) names …

2
在matplotlib中使用图,轴或图形绘制图之间有什么区别?
当我在matplotlib,tbh中绘制图时,我有点困惑后端的处理方式,我不清楚图,轴和图形的层次结构。我阅读了文档,它很有帮助,但我仍然感到困惑... 以下代码以三种不同的方式绘制相同的图: #creating the arrays for testing x = np.arange(1, 100) y = np.sqrt(x) #1st way plt.plot(x, y) #2nd way ax = plt.subplot() ax.plot(x, y) #3rd way figure = plt.figure() new_plot = figure.add_subplot(111) new_plot.plot(x, y) 现在我的问题是- 这三种方法有什么区别,我的意思是,当调用这三种方法中的任何一种时,幕后情况是什么? 什么时候应该使用哪种方法,在这些方法上使用利弊是什么?


10
通过熊猫DataFrame分组并选择最常用的值
我有一个包含三个字符串列的数据框。我知道第三列中的唯一一个值对于前两个的每种组合都有效。要清理数据,我必须按前两列按数据帧分组,并为每种组合选择第三列的最常用值。 我的代码: import pandas as pd from scipy import stats source = pd.DataFrame({'Country' : ['USA', 'USA', 'Russia','USA'], 'City' : ['New-York', 'New-York', 'Sankt-Petersburg', 'New-York'], 'Short name' : ['NY','New','Spb','NY']}) print source.groupby(['Country','City']).agg(lambda x: stats.mode(x['Short name'])[0]) 最后一行代码不起作用,它显示“键错误'Short name'”,如果我尝试仅按城市分组,则会收到AssertionError。我该如何解决?


6
如何在Pandas barplot中旋转x轴刻度标签
使用以下代码: import matplotlib matplotlib.style.use('ggplot') import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame({ 'celltype':["foo","bar","qux","woz"], 's1':[5,9,1,7], 's2':[12,90,13,87]}) df = df[["celltype","s1","s2"]] df.set_index(["celltype"],inplace=True) df.plot(kind='bar',alpha=0.75) plt.xlabel("") 我做了这个情节: 如何将x轴刻度标签旋转到0度? 我尝试添加它,但是没有用: plt.set_xticklabels(df.index,rotation=90)

5
python如何用零填充numpy数组
我想知道如何使用python 2.6.6和numpy版本1.5.0用零填充2D numpy数组。抱歉! 但是这些是我的局限性。因此我不能使用np.pad。例如,我想a用零填充以使其形状匹配b。我想这样做的原因是我可以这样做: b-a 这样 >>> a array([[ 1., 1., 1., 1., 1.], [ 1., 1., 1., 1., 1.], [ 1., 1., 1., 1., 1.]]) >>> b array([[ 3., 3., 3., 3., 3., 3.], [ 3., 3., 3., 3., 3., 3.], [ 3., 3., 3., 3., 3., 3.], [ …
99 python  arrays  numpy  pad 

11
如何在Pylint的文件级别禁用“缺少文档字符串”警告?
Pylint引发错误,指出某些文件缺少文档字符串。我尝试为每个类,方法和函数添加docstring,但是Pylint似乎还在检查文件的开头是否应该有docstring。我可以以某种方式禁用它吗?我想在类,函数或方法中缺少文档字符串的通知,但对于具有文档字符串的文件,这不是强制性的。 (是否在专有源文件的开头经常出现法律术语?是否有任何示例?我不知道单独发布这样一个琐碎的问题是否可以。)
99 python  pylint 

4
如何在for循环中注释类型
我想在for-loop中注释变量的类型。我尝试了这个: for i: int in range(5): pass 但这显然没有用。 我期望在PyCharm 2016.3.2中能够自动完成工作。像这样的预注释: i: int for i in range(5): pass 没有帮助。 适用于PyCharm> = 2017.1的PS预注释作品

4
Python Pandas:将选定的列保留为DataFrame而不是Series
从pandas DataFrame中选择单个列时(例如df.iloc[:, 0],df['A']或df.A等),结果矢量将自动转换为Series而不是单列DataFrame。但是,我正在编写一些将DataFrame作为输入参数的函数。因此,我更喜欢处理单列DataFrame而不是Series,以便函数可以假定df.columns是可访问的。现在,我必须使用来将Series显式转换为DataFrame pd.DataFrame(df.iloc[:, 0])。这似乎不是最干净的方法。是否有更优雅的方法直接从DataFrame进行索引,以便结果是单列DataFrame而不是Series?
99 python  pandas 

9
Python中的字符串串联与字符串替换
在Python中,使用字符串连接与字符串替换的时间和地点使我难以理解。由于字符串连接的性能有了很大提高,这(成为更多)是一种风格上的决定,而不是一种实际的决定吗? 举一个具体的例子,如何处理灵活的URI: DOMAIN = 'http://stackoverflow.com' QUESTIONS = '/questions' def so_question_uri_sub(q_num): return "%s%s/%d" % (DOMAIN, QUESTIONS, q_num) def so_question_uri_cat(q_num): return DOMAIN + QUESTIONS + '/' + str(q_num) 编辑:也有关于加入字符串列表和使用命名替换的建议。这些是中心主题的变体,即在什么时候做正确的方法?感谢您的回复!

4
将Python字典转换为JSON数组
目前,我有这本词典,使用印刷pprint: {'AlarmExTempHum': '\x00\x00\x00\x00\x00\x00\x00\x00', 'AlarmIn': 0, 'AlarmOut': '\x00\x00', 'AlarmRain': 0, 'AlarmSoilLeaf': '\x00\x00\x00\x00', 'BarTrend': 60, 'BatteryStatus': 0, 'BatteryVolts': 4.751953125, 'CRC': 55003, 'EOL': '\n\r', 'ETDay': 0, 'ETMonth': 0, 'ETYear': 0, 'ExtraHum1': None, 'ExtraHum2': None, 'ExtraHum3': None, 'ExtraHum4': None, 'ExtraHum5': None, 'ExtraHum6': None, 'ExtraHum7': None, 'ExtraTemp1': None, 'ExtraTemp2': None, 'ExtraTemp3': None, 'ExtraTemp4': None, 'ExtraTemp5': …

6
如何在Python 3中使用自定义比较功能?
在Python 2.x中,我可以将自定义函数传递给sort和.sort函数 >>> x=['kar','htar','har','ar'] >>> >>> sorted(x) ['ar', 'har', 'htar', 'kar'] >>> >>> sorted(x,cmp=customsort) ['kar', 'htar', 'har', 'ar'] 因为用我的语言,辅音是伴随着这个顺序 "k","kh",....,"ht",..."h",...,"a" 但是在Python 3.x中,看起来我无法传递cmp关键字 >>> sorted(x,cmp=customsort) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'cmp' is an invalid keyword argument for this function 有其他选择吗?或者我也应该编写自己的排序函数吗? 注意:我通过使用“ k”,“ kh”等进行了简化。实际字符是Unicode,甚至更复杂,有时在辅音前后都有元音,所以我完成了自定义比较功能,因此这一部分还可以。唯一的问题是我无法将自定义比较功能传递给sort或.sort

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.