相关疑难解决方法(0)

在Pandas中添加几个月的日期

我试图弄清楚如何在Pandas数据帧中添加3个月的日期,同时保持日期格式,以便我可以使用它来查找范围.

这就是我尝试过的:

#create dataframe
df = pd.DataFrame([pd.Timestamp('20161011'),
                   pd.Timestamp('20161101') ], columns=['date'])

#create a future month period
plus_month_period = 3

#calculate date + future period
df['future_date'] = plus_month_period.astype("timedelta64[M]")
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

AttributeError: 'int' object has no attribute 'astype'
Run Code Online (Sandbox Code Playgroud)

关于如何做到这一点的任何想法?谢谢!

python date pandas

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

如何在jupyter笔记本中使用tqdm和pandas?

我正在用一个jupyter笔记本中的pandas进行一些分析,因为我的apply函数需要很长时间才能看到进度条.通过这篇文章,我找到了tqdm库,为pandas操作提供了一个简单的进度条.还有一个Jupyter集成提供了一个非常好的进度条,其中条形本身随着时间的推移而变化.

但是,我想将两者结合起来,并不太明白如何做到这一点.让我们采用与文档中相同的示例

import pandas as pd
import numpy as np
from tqdm import tqdm

df = pd.DataFrame(np.random.randint(0, 100, (100000, 6)))

# Register `pandas.progress_apply` and `pandas.Series.map_apply` with `tqdm`
# (can use `tqdm_gui`, `tqdm_notebook`, optional kwargs, etc.)
tqdm.pandas(desc="my bar!")

# Now you can use `progress_apply` instead of `apply`
# and `progress_map` instead of `map`
df.progress_apply(lambda x: x**2)
# can also groupby:
# df.groupby(0).progress_apply(lambda x: x**2)
Run Code Online (Sandbox Code Playgroud)

它甚至说"可以使用'tqdm_notebook'",但我找不到怎样的方法.我尝试了一些类似的东西

tqdm_notebook(tqdm.pandas(desc="my bar!"))
Run Code Online (Sandbox Code Playgroud)

要么

tqdm_notebook.pandas
Run Code Online (Sandbox Code Playgroud)

但他们不起作用.在定义中它看起来像我

tqdm.pandas(tqdm_notebook(desc="my bar!"))
Run Code Online (Sandbox Code Playgroud)

应该工作,但酒吧没有正确显示进度,仍然有额外的输出. …

python pandas jupyter-notebook tqdm

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

在Python中,如何在打印后更改文本?

我有一个我正在编写的Python程序,我希望它能够在打印后更改文本.例如,假设我想打印"你好"并每秒擦除一个字母.我该怎么做呢?

此外,我听说过诅咒,但我无法让它工作,我不想简单地创建新行,直到旧文本离开屏幕.

python

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

替换pandas数据帧中很少出现的值

我有一个中等大(约60,000行乘15列)csv文件,我正在与熊猫一起工作.每行代表一个人并包含个人数据.我想匿名呈现数据.我想要这样做的一种方法是替换特殊列中罕见的值.我最初尝试这样做如下:

def clean_data(entry):
    if df[df.column_name == entry].index.size < 10:
        return 'RARE_VALUE'
    else:
        return entry

df.new_column_name = df.column_name.apply(clean_data)
Run Code Online (Sandbox Code Playgroud)

但每次运行它都冻结了我的系统.不幸的是,这意味着我没有有用的调试数据.有谁知道这样做的正确方法?该列包含字符串和空值.

python pandas

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

如何让 tqdm 在 pandas 应用上工作?

Tqdm 文档显示了 tqdm 使用 Progress_apply 处理 pandas apply 的示例。我从这里https://tqdm.github.io/docs/tqdm/改编了以下代码,该代码通常需要几分钟才能执行(func1 是一个正则表达式函数)。

from tqdm import tqdm
tqdm.pandas()
df.progress_apply(lambda x: func1(x.textbody), axis=1)
Run Code Online (Sandbox Code Playgroud)

生成的进度条不显示任何进度。它只是从循环开始时的 0 跳到循环结束时的 100。我当前正在运行 tqdm 版本 4.61.2

python pandas tqdm

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

如何在初始化DataFrame时创建进度条?

我想在每次将.csv文件加载到数据帧时创建新行时获取行数:

def file_len(fname):
    with open(fname) as f:
        for i, l in enumerate(f):
            pass
    return i + 1

csv_path = "C:/...."
max_length = file_len(csv_path)

data = read_csv(csv_path, sep=';', encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

使用该代码,我获得了最大行数,但我不知道如何在每次创建一行时获取数据帧中的行数.我想用它们来制作0-100%的进度条

python dataframe pandas progress-bar

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

是否可以将 tqdm 用于 Pandas 合并操作?

我可以找到用于 group by 和其他 Pandas 操作的 tqdm 进度条的示例。但在合并或加入时找不到任何内容。

是否可以在 pandas 上使用 tqdm 进行合并?

python pandas tqdm

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

标签 统计

python ×7

pandas ×6

tqdm ×3

dataframe ×1

date ×1

jupyter-notebook ×1

progress-bar ×1