小编Ara*_*eel的帖子

Python Pandas - 了解inplace = True

pandas库中很多次都有一个选项来更改对象,例如使用以下语句...

df.dropna(axis='index', how='all', inplace=True)
Run Code Online (Sandbox Code Playgroud)

我很好奇返回的内容以及inplace=True传递对象时的处理方式inplace=False.

正在修改的所有操作selfinplace=True?什么时候inplace=False立即创建一个新对象new_df = self,然后new_df返回?

python in-place pandas

53
推荐指数
4
解决办法
8万
查看次数

如何将数据附加到 pandas 多索引数据框

如何将数据附加到 Pandas 多索引数据帧?我目前使用以下代码从我的数据成功创建数据框。

df = pd.DataFrame.from_dict(output, orient='index')
Run Code Online (Sandbox Code Playgroud)

我在想也许是这样的......

df = pd.DataFrame['MMM', 'IncomeStatement'].from_dict(output, orient='index')
Run Code Online (Sandbox Code Playgroud)

要合并的数据框

                                            0          1          2
Total Revenue                           182795000  170910000  156508000
Cost of Revenue                         112258000  106606000   87846000
Gross Profit                             70537000   64304000   68662000
Research Development                      6041000    4475000    3381000
Selling General and Administrative       11993000   10830000   10040000
Non Recurring                                   0          0          0
Others                                          0          0          0
Total Operating Expenses                        0          0          0
Operating Income or Loss                 52503000   48999000   55241000
Total Other Income/Expenses Net            980000    1156000     522000
Earnings Before Interest And Taxes       53483000 …
Run Code Online (Sandbox Code Playgroud)

dataframe pandas

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

Python 3.4:cStringIO与StringIO

我正在返回一个ImportError:没有名为'cStringIO'的模块.不幸的是cStringIO不再存在了,我需要使用StringIO作为替代品.我怎样才能做到这一点?

import edgar
import ftplib
from io import StringIO 

ftp = ftplib.FTP(edgar.FTP_ADDR)
ftp.login()
try:
   edgar.download_all(ftp, "/tmp")
except Exception as e:
   print(e)
finally:
   ftp.close()
Run Code Online (Sandbox Code Playgroud)

OUTPUT

Traceback (most recent call last):
File "/usr/local/lib/ana/lib/python3.4/site-         packages/edgar/downloader.py", line 5, in <module>
from cStringIO import StringIO
ImportError: No module named 'cStringIO'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/aranjohn/PycharmProjects/edgar/secEd.py", line 1, in     <module>
import edgar
File "/usr/local/lib/ana/lib/python3.4/site-  packages/edgar/__init__.py", line 1, in <module>
from .downloader import FTP_ADDR, file_list, …
Run Code Online (Sandbox Code Playgroud)

import python-3.x

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

Python Pandas - 使用基于索引、列的字典更新行

我有一个包含空列和相应字典的数据框,我想根据索引、列更新空列:

import pandas as pd    
import numpy as np

dataframe = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9], [4, 6, 2], [3, 4, 1]])
dataframe.columns = ['x', 'y', 'z']
additional_cols = ['a', 'b', 'c']

for col in additional_cols:
     dataframe[col] = np.nan

    x   y   z   a  b  c
0   1   2   3           
1   4   5   6           
2   7   8   9           
3   4   6   2           
4   3   4   1           

for row, column in x.iterrows():
    #caluclations to return dictionary y
    y …
Run Code Online (Sandbox Code Playgroud)

dictionary python-3.x pandas

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

Python Pandas -- 如果条件连接字符串

在一个pd.DataFrame我在列的字符串A,其len等于5或6。如果单元格的值len(value) == 5然后我需要字符串串联'7' 到电池值的开头。我目前正在尝试下面的代码,但似乎无法将 apply 与inplace=True参数一起使用。

 df[df['A'].str.len() == 5]['A'].apply(lambda x: '7' + str(x))
Run Code Online (Sandbox Code Playgroud)

这将返回列 - 但不会就地修改数据框......

python concat pandas

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

Python:将函数放入类中

我对 Python 有点陌生,我想更好地理解类。下面是一些有很多相似之处但传递给每个multiprocessing函数的函数不同的函数。无论如何,我可以将所有这些函数放入一个class被调用的函数中FruitPie吗?

def apple():
    if __name__ == '__main__':
        pool = mp.Pool(processes=8)
        pool.map(func1, same_list)
        pool.close()

def banana():
    if __name__ == '__main__':
        pool = mp.Pool(processes=8)
        pool.map(func2, same_list)
        pool.close()

def orange():
    if __name__ == '__main__':
        pool = mp.Pool(processes=8)
        pool.map(func3, same_list)
        pool.close()
Run Code Online (Sandbox Code Playgroud)

python class function

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

根据索引值python更新并追加新行

我有两个数据帧DF1,DF2它们具有相同类型的数据并共享一些索引值但不是全部

        DF1    
 index, a, b, c
[ abc   1, 3, 6 ]
[ acb   2, 4, 5 ]
[ cab   6, 5, 2 ]
[ bac   3, 6, 2 ]
[ bca   6, 8, 3 ]

        DF2
 index, a, b, d
[ abc   4, 7, 3 ]
[ kde   2, 5, 8 ]
[ lat   7, 2, 6 ]
[ bac   0, 4, 4 ]
[ bca   3, 6, 8 ]
Run Code Online (Sandbox Code Playgroud)

因此,我希望实现以下目标

1.)DF1根据索引匹配添加列D.

2.)添加 …

python concat pandas

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

Pandas 数据框上的矢量化查找

我有两个 DataFrames 。. .

df1 是一个表,我需要从使用索引中提取值,从 df2 中的多个列中检索的列对。

我看到有一个函数get_value在给定索引和列值时可以完美运行,但是当尝试矢量化此函数以创建新列时,我失败了...

df1 = pd.DataFrame(np.arange(20).reshape((4, 5)))

df1.columns = list('abcde')

df1.index = ['cat', 'dog', 'fish', 'bird']

        a   b   c   d   e
cat     0   1   2   3   4
dog     5   6   7   8   9
fish    10  11  12  13  14
bird    15  16  17  18  19

df1.get_value('bird, 'c')

17
Run Code Online (Sandbox Code Playgroud)

现在我需要做的是创建一个完整的新列df2- 当df1基于索引进行索引时,来自animal,letter列的列对在df2有效矢量化上述pd.get_value函数时指定。

df2 = pd.DataFrame(np.arange(20).reshape((4, 5)))

df2['animal'] = ['cat', 'dog', 'fish', 'bird'] …
Run Code Online (Sandbox Code Playgroud)

python lookup vectorization dataframe pandas

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

Django Rest Framework“列表”对象没有属性值

我有下面的代码和错误堆栈跟踪。

我正在尝试访问,localhost:8000/fundamentals/但出现错误'list' object has no attribute 'values'

错误

web_1  | Traceback (most recent call last):
web_1  |   File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 47, in inner
web_1  |     response = get_response(request)
web_1  |   File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 202, in _get_response
web_1  |     response = response.render()
web_1  |   File "/usr/local/lib/python3.7/site-packages/django/template/response.py", line 105, in render
web_1  |     self.content = self.rendered_content
web_1  |   File "/usr/local/lib/python3.7/site-packages/rest_framework/response.py", line 70, in rendered_content
web_1  |     ret = renderer.render(self.data, accepted_media_type, context)
web_1  |   File "/usr/local/lib/python3.7/site-packages/rest_framework/renderers.py", line 724, in render …
Run Code Online (Sandbox Code Playgroud)

python django rest django-rest-framework

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

Python 3:为什么要使用 urlparse/urlsplit

我不太确定这些模块的用途。我知道他们将各自的 url 拆分为其组件,但是为什么这会有用,或者何时使用 urlparse 的示例是什么?

urlparse python-3.4

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

为什么在模板中使用管理表单?

我正在阅读 Django 文档,但不太明白下面关于表单集的评论。

为什么我需要注意在这个例子中使用管理模板中的管理表单?

在视图和模板中使用表单集

在视图中使用表单集就像使用常规表单类一样简单。您唯一需要注意的是确保使用模板中的管理表单。让我们看一个示例视图:

from django.forms import formset_factory
from django.shortcuts import render
from myapp.forms import ArticleForm

def manage_articles(request):
     ArticleFormSet = formset_factory(ArticleForm)
     if request.method == 'POST':
        formset = ArticleFormSet(request.POST, request.FILES)
        if formset.is_valid():
            # do something with the formset.cleaned_data
            pass
    else:
        formset = ArticleFormSet()
    return render(request, 'manage_articles.html', {'formset': formset})

# manage_articles.html

<form method="post">
    {{ formset.management_form }}
    <table>
        {% for form in formset %}
        {{ form }}
        {% endfor %}
    </table>
</form>
Run Code Online (Sandbox Code Playgroud)

django django-forms

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

python 用函数递归重命名字典键

我想要一个嵌套字典并将所有键从camelcase重命名为snake_case。我有当前的代码,但它不起作用。

def camel_to_snake(name):
    name = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name)
    return re.sub('([a-z0-9])([A-Z])', r'\1_\2', name).lower()

def alter_keys(dictionary, func):
    empty = {}
    for k, v in dictionary.items():
        if isinstance(v, dict):
            alter_keys(v, func)
        if isinstance(v, str):
            empty[func(k)] = dictionary.pop(k)
        
    return empty

x = alter_keys(random_nested_dict, camel_to_snake)
Run Code Online (Sandbox Code Playgroud)

python dictionary rename key

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