小编DYZ*_*DYZ的帖子

python中的多个构造函数

如何将以下两个类组合成一个类Rectangle,以便可以通过rect = Rectangle(side_a,side_b)或rect = Rectangle(side_a,area)创建Rectangle对象?

class Rectangle1:
    def __init__(self, side_a, side_b):
        self.side_a = side_a
        self.side_b = side_b
        self.area = self.side_a * self.side_b

class Rectangle2:
    def __init__(self, side_a, area):
        self.side_a = side_a
        self.area = area
        self.side_b = self.area / side_a
Run Code Online (Sandbox Code Playgroud)

python constructor

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

熊猫如何将数组放置在单个数据帧单元格中?

所以我目前有一个如下所示的数据框:

当前数据帧

我想添加一个名为“预测器”的全新列,其中只有一个包含数组的单元格。

所以 [0, 'Predictors'] 应该包含一个数组,并且同一列中该单元格下方的所有内容都应该是空的。

这是我的尝试,我尝试创建一个仅包含“预测器”列的单独数据框,并尝试将其附加到当前数据框,但我得到:“长度不匹配:预期轴有 3 个元素,新值有 4 个元素。”

如何将包含数组的单个单元格附加到我的数据帧?

# create a list and dataframe to hold the names of predictors
dataframe=dataframe.drop(['price','Date'],axis=1)  
predictorsList = dataframe.columns.get_values().tolist()
predictorsList = np.array(predictorsList, dtype=object)

# Combine actual and forecasted lists to one dataframe
combinedResults = pd.DataFrame({'Actual': actual, 'Forecasted': forecasted})

predictorsDF = pd.DataFrame({'Predictors': [predictorsList]})

# Add Predictors to dataframe
#combinedResults.at[0, 'Predictors'] = predictorsList
pd.concat([combinedResults,predictorsDF], ignore_index=True, axis=1)
Run Code Online (Sandbox Code Playgroud)

python statistics dataframe pandas data-science

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

清理电子邮件链以进行文本分析python

我有一些文字:

text = """From: 'Mark Twain' <mark.twain@gmail.com>
To: 'Edgar Allen Poe' <eap@gmail.com>
Subject: RE:Hello!

Ed,

I just read the Tell Tale Heart. You\'ve got problems man.

Sincerely,
Marky Mark

From: 'Edgar Allen Poe' <eap@gmail.com>
To: 'Mark Twain' <mark.twain@gmail.com>
Subject: RE: Hello!

Mark,

The world is crushing my soul, and so are you.

Regards,
Edgar"""
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

"From: 'Mark Twain' <mark.twain@gmail.com>\nTo: 'Edgar Allen Poe' <eap@gmail.com>\nSubject: RE:Hello!\n\nEd,\n\nI just read the Tell Tale Heart. You've got problems man.\n\nSincerely,\nMarky Mark\n\nFrom: 'Edgar Allen Poe' <eap@gmail.com>\nTo: 'Mark …
Run Code Online (Sandbox Code Playgroud)

python text

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

Python 2 与 3 正则表达式的区别

我有一个在 Python 2 中完美运行的正则表达式:

parts = re.split(r'\s*', re.sub(r'^\s+|\s*$', '', expression)) # split expression into 5 parts
Run Code Online (Sandbox Code Playgroud)

这个正则表达式将一个表达式分成 5 个部分,例如,

'a * b   =     c' will be split into ['a', '*', 'b', '=', 'c'],
'11 + 12 = 23' will be split into ['11', '+', '12', '=', '23'],
'ab   - c = d' will be split into ['ab', '-', 'c', '=', 'd'],
Run Code Online (Sandbox Code Playgroud)

等等。

但是在 Python 3 中,这个正则表达式的工作方式完全不同,

'a * b   =     c' will be split into ['', 'a','', '*', '', 'b','', …
Run Code Online (Sandbox Code Playgroud)

python regex python-2.7 python-3.x

5
推荐指数
0
解决办法
1973
查看次数

检查大型 numpy 矩阵中的三角不等式

我有一个D非负浮点数的对称 NumPy 矩阵。i第行第列中的数字表示对象和j之间的距离,无论它们是什么。矩阵很大(约 10,000 行/列)。我想检查矩阵中的所有距离是否服从三角不等式,即:对于所有, , 。ijD[i,j]<=D[i,k]+D[k,j]ijk

通过使用三重嵌套循环可以非常低效地解决该问题。但有没有更快的矢量化解决方案?

python algorithm numpy distance

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

从 json 中删除多余的空格

在 Java 中,我有一个 json 字符串,我想从中删除多余的空格。我不想删除键和值中字符的空格。

实际的 JSON 字符串

{ "Error" : "Invalid HTTP Method" , "ErrorCode" : "405" , "ErrorDesc" : "Method Not Allowed" } 
Run Code Online (Sandbox Code Playgroud)

必需的 JSON

{"Error":"Invalid HTTP Method","ErrorCode":"405","ErrorDesc":"Method Not Allowed"}
Run Code Online (Sandbox Code Playgroud)

java parsing json

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

需要重新定义哪些Python对象比较方法才能使sorted()起作用?

我觉得这个问题以前肯定有人问过,但我找不到答案。

假设我想实现一个 Python 类,其对象可以使用sorted(). 我是否必须重新实现所有方法,例如__lt__()__gt__()等?最低限度是多少?换句话说,哪种方法需要sorted()排序?

sorting redefinition python-3.x

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

quit()在Python-3.x和IPython中的工作方式不同

内置函数quit()在Python-3.x和IPython 3中表现不同.Hello如果在IPython中执行,则打印以下代码,但不会在Python中打印任何内容:

quit()
print("Hello")
Run Code Online (Sandbox Code Playgroud)

quit()IPython 的目的是什么?改变行为的原因是什么?

python exit ipython python-3.x

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

如何在pandas中groupby后取回索引

我试图从 groupby 之后的每个组中的第一条记录中找到具有最大值的记录,并从原始数据框中删除相同的记录。

import pandas as pd
df = pd.DataFrame({'item_id': ['a', 'a', 'b', 'b', 'b', 'c', 'd'], 
                   'cost': [1, 2, 1, 1, 3, 1, 5]})
print df 
t = df.groupby('item_id').first() #lost track of the index
desired_row = t[t.cost == t.cost.max()]
#delete this row from df

         cost
item_id      
d           5
Run Code Online (Sandbox Code Playgroud)

我需要跟踪desired_row并从中删除这一行df并重复该过程。

查找和删除 的最佳方法是desired_row什么?

python pandas

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

蟒蛇 3.6。获取所有相同 X 坐标的平均 Y

我有一个坐标列表,如下所示:

my_list = [[1, 1], [1, 3], [1, 5], [2, 1], [2, 3]]
Run Code Online (Sandbox Code Playgroud)

正如我们所看到的,前三个坐标具有相同的 X 值,具有不同的 Y,另外两个坐标的情况相同。我想制作新列表,如下所示:

new_list = [[1, 3], [2, 2]]
Run Code Online (Sandbox Code Playgroud)

哪里y1 = 3 = (1+3+5)/3y2 = 2 = (1+3)/2。我写了下面的代码,但它运行缓慢。

我使用数十万个坐标,所以问题是:如何使此代码运行得更快?是否有任何优化或特殊的开源库,可以加速我的代码?

先感谢您。

x_mass = []

for m in mass:
  x_mass.append(m[0])

set_x_mass = set(x_mass) 
list_x_mass = list(set_x_mass) 

performance_points = [] 

def function(i):
  unique_x_mass = []
  for m in mass:
    if m[0] == i:
      unique_x_mass.append(m)

  summ_y = 0
  for m in unique_x_mass:
    summ_y += m[1]
  point …
Run Code Online (Sandbox Code Playgroud)

python coordinates python-3.6

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