小编Bra*_*mon的帖子

Github - 链接到源代码中的功能

我知道我可以将锚定到某一行,但如果源更改该行可能变得无关紧要.例:

...source.php#L33 <第33行可能在以后成为第40行:(

有没有办法告诉GitHub从源链接到某个函数或属性,而不指定行?

(源代码是用PHP代码编写的.)

anchor markdown github hyperlink

16
推荐指数
2
解决办法
2300
查看次数

为什么要从熊猫中删除日期时间?

我在 Pandas 中处理大量数据分析并每天使用 pandas.datetime。最近我收到警告“FutureWarning:不推荐使用 pandas.datetime 类,并将在未来版本中从 Pandas 中删除。改为从 datetime 模块导入。” 我之前使用过 datetime lib,当 datetime 无法使用时,我想这样做,并且我知道它是一个与“日期”更相关的库,但是有人知道这种转向 datetime 库背后的想法吗?

python datetime pandas

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

熊猫:链式作业

我一直在阅读这个链接的"返回视图与副本".我真的不明白的是如何链接分配在熊猫的概念工作和如何的使用.ix(),.iloc()或者.loc()影响它.

我得到SettingWithCopyWarning以下代码行的警告,其中data是Panda数据帧,并且amount是该数据帧中的列(系列)名称:

data['amount'] = data['amount'].astype(float)

data["amount"].fillna(data.groupby("num")["amount"].transform("mean"), inplace=True)

data["amount"].fillna(mean_avg, inplace=True)
Run Code Online (Sandbox Code Playgroud)

看看这段代码,我做的事情显然不是很理想吗?如果是这样,你能告诉我更换代码行吗?

我知道下面的警告,并且认为我的案例中的警告是误报:

链式分配警告/异常旨在通知用户可能无效的分配.可能存在误报; 无意中报告链式作业的情况.

编辑:导致第一次复制警告错误的代码.

data['amount'] = data.apply(lambda row: function1(row,date,qty), axis=1) 
data['amount'] = data['amount'].astype(float)

def function1(row,date,qty):
    try:
        if(row['currency'] == 'A'):
            result = row[qty]
        else:
            rate = lookup[lookup['Date']==row[date]][row['currency'] ]
            result = float(rate) * float(row[qty])
        return result
    except ValueError: # generic exception clause
        print "The current row causes an exception:"
Run Code Online (Sandbox Code Playgroud)

python copy pandas chained-assignment

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

不具有SettingWithCopyWarning的不可预测的pandas切片分配行为

它是众所周知的(和理解)分配到切片时,大熊猫的行为本质上是不可预测的.但我常常被警告SettingWithCopy警告.

为什么警告不是在以下两个代码片段中生成的,哪些技术可以减少无意中编写此类代码的可能性?

# pandas 0.18.1, python 3.5.1
import pandas as pd
data = pd.DataFrame({'a': [1, 2, 3], 'b': ['a', 'b', 'c']})
new_data = data[['a', 'b']]
data = data['a']
new_data.loc[0, 'a'] = 100 # no warning, doesn't propagate to data

data[0] == 1
True


data = pd.DataFrame({'a': [1, 2, 3], 'b': ['a', 'b', 'c']})
new_data = data['a']
data = data['a']
new_data.loc[0] = 100 # no warning, propagates to data

data[0] == 100
True
Run Code Online (Sandbox Code Playgroud)

我认为解释是,当父数据帧仍可从当前上下文访问时,pandas仅生成警告.(这将是检测算法的一个弱点,正如我之前的例子所示.)

在下一个片段中,AFAIK原始的双列DataFrame不再可访问,但pandas警告机制设法触发(幸运的是): …

python pandas chained-assignment

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

递归:具有分布的帐户值

更新:不确定在没有某种形式的循环的情况下是否可行,但np.where在此处不起作用.如果答案是"你不能",那就这样吧.如果可以,它可以使用来自的东西scipy.signal.


我想在下面的代码中对循环进行矢量化,但由于输出的递归性质,不确定如何.

走我当前的设置:

获取起始金额(100万美元)和季度美元分配(5,000美元):

dist = 5000.
v0 = float(1e6)
Run Code Online (Sandbox Code Playgroud)

在每月频率生成一些随机安全/帐户返回(十进制形式):

r = pd.Series(np.random.rand(12) * .01,
              index=pd.date_range('2017', freq='M', periods=12))
Run Code Online (Sandbox Code Playgroud)

创建一个包含月度帐户值的空系列:

value = pd.Series(np.empty_like(r), index=r.index)
Run Code Online (Sandbox Code Playgroud)

添加"开始月份" value.这个标签将包含v0.

from pandas.tseries import offsets
value = (value.append(Series(v0, index=[value.index[0] - offsets.MonthEnd(1)]))
              .sort_index())
Run Code Online (Sandbox Code Playgroud)

我想摆脱的循环在这里:

for date in value.index[1:]:
    if date.is_quarter_end:
        value.loc[date] = value.loc[date - offsets.MonthEnd(1)] \
                        * (1 + r.loc[date]) - dist
    else:
        value.loc[date] = value.loc[date - offsets.MonthEnd(1)] \
                        * (1 + r.loc[date]) 
Run Code Online (Sandbox Code Playgroud)

合并代码:

import pandas …
Run Code Online (Sandbox Code Playgroud)

python recursion finance python-3.x pandas

15
推荐指数
2
解决办法
411
查看次数

Unnest(爆炸)熊猫系列

我有:

df = pd.DataFrame({'col1': ['asdf', 'xy', 'q'], 'col2': [1, 2, 3]})

   col1  col2
0  asdf     1
1    xy     2
2     q     3
Run Code Online (Sandbox Code Playgroud)

我想从字符串中col1取出每个字母的"组合产品" ,每个元素都在int中col2.即:

  col1  col2
0    a    1
1    s    1
2    d    1
3    f    1
4    x    2
5    y    2
6    q    3
Run Code Online (Sandbox Code Playgroud)

目前的方法:

from itertools import product

pieces = []
for _, s in df.iterrows():
    letters = list(s.col1)
    prods = list(product(letters, [s.col2]))
    pieces.append(pd.DataFrame(prods))

pd.concat(pieces)
Run Code Online (Sandbox Code Playgroud)

任何更有效的解决方法?

python dataframe pandas

15
推荐指数
5
解决办法
1621
查看次数

将特殊格式的文本文档转换为Pandas DataFrame

我有一个具有以下格式的文本文件:

1: frack 0.733, shale 0.700, 
10: space 0.645, station 0.327, nasa 0.258, 
4: celebr 0.262, bahar 0.345 
Run Code Online (Sandbox Code Playgroud)

我需要将此文本转换为以下格式的DataFrame:

Id   Term    weight
1    frack   0.733
1    shale   0.700
10   space   0.645
10   station 0.327
10   nasa    0.258
4    celebr  0.262
4    bahar   0.345
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

python pandas

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

pip: sys.stderr.write(f"ERROR: {exc}") 使用 Python 3.5

我在使用 pip 和 pip3 时遇到问题。我正在尝试安装要求,但显示错误。当我编写 pip3 或 pip --version 时,它会显示此错误。

jumphost@jumphost-VirtualBox:~$ pip3 --version
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import __main__
  File "/usr/local/lib/python3.5/dist-packages/pip/__main__.py", line
21, in <module>
    from pip._internal.cli.main import main as _main
  File
"/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

如果我尝试安装,它显示了这一点

jumphost@jumphost-VirtualBox:~/kubespray$ pip install -r requirements.txt
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import __main__
  File
"/usr/local/lib/python2.7/dist-packages/pip-21.0-py2.7.egg/pip/__main__.py",
line 21, in <module>
    from pip._internal.cli.main import …
Run Code Online (Sandbox Code Playgroud)

python pip

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

selenium web驱动程序中的sendKeys()

我是Selenium的新手.我只想将密钥发送到用户名文本框并一次发送一个tab键,以便文本框可以检查用户名的可用性.

这是代码:

 driver.findElement(By.xpath("//label[text()='User Name:']/following::div/input")).sendKeys("UserName");
 driver.findElement(By.xpath("//label[text()='User Name:']/following::div/input")).sendKeys(Keys.TAB);
Run Code Online (Sandbox Code Playgroud)

但是这个没有用.

请帮我.

java selenium selenium-webdriver

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

熊猫直方图df.hist()group by

如何使用group by绘制带有pandas DataFrame.hist()的直方图?我有一个包含5列的数据框:"A","B","C","D"和"Group"

有两个组类:"是"和"否"

使用:

df.hist() 
Run Code Online (Sandbox Code Playgroud)

我得到了4列中每一列的直方图.

在此输入图像描述

现在我想得到相同的4个图,但有蓝色条(group ="yes")和红色条(group ="no").

我试过这个没有成功:

df.hist(by = "group")
Run Code Online (Sandbox Code Playgroud)

大熊猫出了问题

matplotlib histogram pandas

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