我有2个数据帧
DF1
Cols/Rows A B C
0 A 50 150 200
1 B 200 250 300
2 C 350 400 450
Run Code Online (Sandbox Code Playgroud)
DF2
Cols/Rows A B C
0 A 50 150 200
1 B 200 300 300
2 C 370 400 450
Run Code Online (Sandbox Code Playgroud)
我的预期产量
Cols/Rows A A2 B B2 C C2
0 A 50 50 150 150 200 200
1 B 200 200 250 300 300 300
2 C 350 370 400 400 450 450
Run Code Online (Sandbox Code Playgroud)
我想用col和row方式创建新的数据框合并.我试图使用,merge()但它没有奏效
print(df2.merge(df1, how='left'))
Run Code Online (Sandbox Code Playgroud) 我有一家公司的股票价格清单。现在我想将列表拆分为多个间隔。我们将存储价格,如下所示:前 2 个元素,然后是接下来的 3 个元素,然后是 2 个元素,依此类推。
meta_stocks = [10, 9, 11, 15, 19, 22, 25, 11, 15, 17]
Run Code Online (Sandbox Code Playgroud)
输出
meta_stocks = [[10, 9],[11, 15, 19],[22, 25],[ 11, 15, 17]]
Run Code Online (Sandbox Code Playgroud)
我可以将列表拆分为每个项目 5 个,但无法进一步拆分
>>> [meta_stocks[i:i+interval2] for i in range(0, len(meta_stocks), interval2)]
>>> [[10, 9, 11, 15, 19], [22, 25, 11, 15, 17]]
Run Code Online (Sandbox Code Playgroud) 我有两个人的出生信息,我想对他们做一些分析。比如,他们的年龄、秒、年+月+日之间的差异。我试过这个:
from datetime import date
a = date(1991, 07, 20)
b = date(1999, 06, 06)
print((a-b).days)
-2878
Run Code Online (Sandbox Code Playgroud)
这给了我2878几天的时间,但我想计算years + months + days
我试图除以 2878/365,但我想要精确的计算我该如何解决这个问题?
预期输出:
7 years x months x days
Run Code Online (Sandbox Code Playgroud) 这里我有字典列表,我的目标是迭代列表,每当有2个或更多列表可用时,我想合并它们并附加在输出列表中,只要有一个列表,它就需要存储为它作为.
data = [
[[{'font-weight': '1'},{'font-weight': '1'}],[{'font-weight': '2'},{'font-weight': '2'}]],
[{'font-weight': '3'},{'font-weight': '3'},{'font-weight': '3'}],
[[{'font-weight': '1'},{'font-weight': '1'}],[{'font-weight': '2'},{'font-weight': '2'}]],
[{'font-weight': '3'},{'font-weight': '3'}]
]
Run Code Online (Sandbox Code Playgroud)
我可以列出特定元素的扁平化 data[0]
print([item for sublist in data[0] for item in sublist])
[{'font-weight': '1'}, {'font-weight': '1'}, {'font-weight': '2'}, {'font-weight': '2'}]
Run Code Online (Sandbox Code Playgroud)
预期产量:
data = [
[{'font-weight': '1'},{'font-weight': '1'},{'font-weight': '2'},{'font-weight': '2'}],
[{'font-weight': '3'},{'font-weight': '3'},{'font-weight': '3'}],
[{'font-weight': '1'},{'font-weight': '1'},{'font-weight': '2'},{'font-weight': '2'}]
[{'font-weight': '3'},{'font-weight': '3'}]
]
Run Code Online (Sandbox Code Playgroud) 从原始字符串中提取月份名称
'January 2045 Robots'
'2065 March Mars Colony'
'2089 December Alien'
Run Code Online (Sandbox Code Playgroud)
我想从原始字符串中提取月份名称,我采取了一种通过创建主元组来提取它的方法
s = 'January 2045 Robots'
months_master = ('january','feb','march','april','may','june','july','august','september','october','november','december')
month = [i for i in months_master if i in s.casefold()]
print(month[0])
'january'
Run Code Online (Sandbox Code Playgroud)
有没有任何优雅的或任何Pythonic的方法来实现这一点
注意:目前要求输入字符串仅包含单个月份(而不是多个月份s = 'May to December Bio')
我有一个名为 的类RMath(),它有 2 个值a和b。然后有一个名为 的函数对这些和add()求和。现在我想记录计算时间。我决定在这里使用装饰器而不触及原来的功能。同时,我不想在同一个类中编写这个装饰器,所以我创建了一个新类 as ,并创建了一个实例方法 as 。但是当我尝试使用这个装饰器时,它会抛出一个错误abHandlertimeit@Handler.timeitTypeError: timeit() missing 1 required positional argument: 'func'
import time
class Handlers():
def timeit(self, func):
def timefunc():
start = time.time()
func()
end = time.time()
print('Time taken: ', end - start)
return timefunc()
class RMath():
def __init__(self, a, b):
self.a = a
self.b = b
@Handlers.timeit
def add(self):
try:
self.a + self.b
except Exception as e:
return e
a …Run Code Online (Sandbox Code Playgroud)