小编Tar*_*n K的帖子

如何水平连接2个数据帧(行和列)?

我有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)

python dataframe pandas

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

以不一致的间隔对 Python 列表进行切片

我有一家公司的股票价格清单。现在我想将列表拆分为多个间隔。我们将存储价格,如下所示:前 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)

python list python-3.x

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

计算两个日期之间的年+月+日?

我有两个人的出生信息,我想对他们做一些分析。比如,他们的年龄、秒、年+月+日之间的差异。我试过这个:

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)

python datetime

3
推荐指数
1
解决办法
3659
查看次数

如何使用列表推导在循环内进行列表展平?

这里我有字典列表,我的目标是迭代列表,每当有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)

python dictionary list

2
推荐指数
1
解决办法
85
查看次数

从原始字符串中提取月份名称?

从原始字符串中提取月份名称

'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'

python monthcalendar

2
推荐指数
1
解决办法
5311
查看次数

如何调用其他类的装饰器(实例方法)?

我有一个名为 的类RMath(),它有 2 个值ab。然后有一个名为 的函数对这些和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)

python decorator python-3.x

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