在pandas库中很多次都有一个选项来更改对象,例如使用以下语句...
df.dropna(axis='index', how='all', inplace=True)
Run Code Online (Sandbox Code Playgroud)
我很好奇返回的内容以及inplace=True传递对象时的处理方式inplace=False.
正在修改的所有操作self时inplace=True?什么时候inplace=False立即创建一个新对象new_df = self,然后new_df返回?
如何将数据附加到 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) 我正在返回一个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)
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 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) 在一个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 有点陌生,我想更好地理解类。下面是一些有很多相似之处但传递给每个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) 我有两个数据帧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.)添加 …
我有两个 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) 我有下面的代码和错误堆栈跟踪。
我正在尝试访问,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) 我不太确定这些模块的用途。我知道他们将各自的 url 拆分为其组件,但是为什么这会有用,或者何时使用 urlparse 的示例是什么?
我正在阅读 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) 我想要一个嵌套字典并将所有键从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 ×7
pandas ×6
concat ×2
dataframe ×2
dictionary ×2
django ×2
python-3.x ×2
class ×1
django-forms ×1
function ×1
import ×1
in-place ×1
key ×1
lookup ×1
python-3.4 ×1
rename ×1
rest ×1
urlparse ×1