如何将以下两个类组合成一个类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) 所以我目前有一个如下所示的数据框:

我想添加一个名为“预测器”的全新列,其中只有一个包含数组的单元格。
所以 [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) 我有一些文字:
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 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) 我有一个D非负浮点数的对称 NumPy 矩阵。i第行第列中的数字表示对象和j之间的距离,无论它们是什么。矩阵很大(约 10,000 行/列)。我想检查矩阵中的所有距离是否服从三角不等式,即:对于所有, , 。ijD[i,j]<=D[i,k]+D[k,j]ijk
通过使用三重嵌套循环可以非常低效地解决该问题。但有没有更快的矢量化解决方案?
在 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) 我觉得这个问题以前肯定有人问过,但我找不到答案。
假设我想实现一个 Python 类,其对象可以使用sorted(). 我是否必须重新实现所有方法,例如__lt__()、__gt__()等?最低限度是多少?换句话说,哪种方法需要sorted()排序?
内置函数quit()在Python-3.x和IPython 3中表现不同.Hello如果在IPython中执行,则打印以下代码,但不会在Python中打印任何内容:
quit()
print("Hello")
Run Code Online (Sandbox Code Playgroud)
quit()IPython 的目的是什么?改变行为的原因是什么?
我试图从 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什么?
我有一个坐标列表,如下所示:
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)/3 和y2 = 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 ×8
python-3.x ×3
pandas ×2
algorithm ×1
constructor ×1
coordinates ×1
data-science ×1
dataframe ×1
distance ×1
exit ×1
ipython ×1
java ×1
json ×1
numpy ×1
parsing ×1
python-2.7 ×1
python-3.6 ×1
redefinition ×1
regex ×1
sorting ×1
statistics ×1
text ×1