小编Gia*_*nou的帖子

如何在python中查找列表中的所有组?

我有这样的清单

[0,0,1,1,1,0,0,0,1,1,0,0,1,1,1,1] 
Run Code Online (Sandbox Code Playgroud)

我想将它们分组,然后找出每组的长度.结果将是这样的:

[[2,0],[3,1].....[4,1]]
Run Code Online (Sandbox Code Playgroud)

python list

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

在Pandas中使用groupby查找重复项

我使用熊猫阅读了一个csv文件。然后,使用以下代码检查数据中是否有重复的行:

import pandas as pd

df= pd.read_csv("data.csv", na_values=["", " ", "-"])

print df.shape
>> (71644, 15)

print df.drop_duplicates().shape
>> (31171, 15)
Run Code Online (Sandbox Code Playgroud)

我发现有一些重复的行,所以我想看看哪些行出现了多次:

data_groups = df.groupby(df.columns.tolist())
size = data_groups.size()
size[size > 1]
Run Code Online (Sandbox Code Playgroud)

这样我就知道了Series([], dtype: int64)

此外,我可以执行以下操作找到重复的行:

duplicates = df[(df.duplicated() == True)]

print duplicates.shape
>> (40473, 15)
Run Code Online (Sandbox Code Playgroud)

因此df.drop_duplicates()df[(df.duplicated() == True)]表明有重复的行,但groupby没有。

我的数据由字符串,整数,浮点数和nan组成。

我是否误解了上面提到的功能中的某些内容或发生了其他事情?

python pandas

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

如何在 Pandas 中使用滚动来不包含最后一个值?

我正在尝试获取过去 x 值的滚动平均值。通过查看文档,滚动方法似乎包含最后一个值。

上述行为可以在文档的以下示例中看到:

In [51]: ser = pd.Series(np.random.randn(10), index=pd.date_range('1/1/2000', periods=10))

In [52]: ser.rolling(window=5, win_type='triang').mean()
Out[52]: 
2000-01-01         NaN
2000-01-02         NaN
2000-01-03         NaN
2000-01-04         NaN
2000-01-05   -1.037870
2000-01-06   -0.767705
2000-01-07   -0.383197
2000-01-08   -0.395513
2000-01-09   -0.558440
2000-01-10   -0.672416
Freq: D, dtype: float64
Run Code Online (Sandbox Code Playgroud)

在我的具体情况下,使用 5 作为窗口将获取 2000-01-01 到 2000-01-05 的平均值,并将其显示在 2000-01-06 上。

下面是一个比较有代表性的例子:

Team     1994    1995    1996    1997    1998    1999
Team 1     4        1      4       10      2       1
Team 2     2        5      1        2      1       4
Team 3     4        1      7        3      9 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何使用 python 在白色背景上裁剪图像?

我正在扫描旧照片,所以我有扫描仪的图像和白色背景。我的目标是拍照,去除白色背景。我怎样才能做到这一点 ?

示例图片如下: 在此处输入图片说明

我的简单方法:

import os
import time
from PIL import Image
from collections import Counter
import numpy as np

def get_cropped_image(image, crop_folder, threshold):
    image_name = image.split("\\")[-1]
    im = Image.open(image)
    pixels = im.load()
    width, height = im.size

    rows = []
    for h_index in xrange(height):
        row = []
        for w_index in xrange(width):
            row.append(pixels[((w_index, h_index))])
        color_count = Counter(row)[(255, 255, 255)] / float(len(row))
        rows.append([h_index, color_count])

    columns = []
    for w_index in xrange(width):
        column = []
        for h_index in xrange(height):
            column.append(im.getpixel((w_index, h_index)))
        color_count = …
Run Code Online (Sandbox Code Playgroud)

python image-processing python-imaging-library

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

我应该在哪里放置try / except?

为了改善我的编码,我想知道应该将try / except放在函数内部还是将其放在外部。以下示例显示了我的意思。

    import pandas as pd

    df = pd.read_csv("data.csv")

    # Example 1
    def do_something(df):
        # Add some columns
        # Split columns
        return df

    try:
        df = do_something(df)
    except Exception, e:
        print e

    # Example 2
    def do_something(df):
        try:
            # Add some columns
            # Split columns
        except Exception, e:
            print e
            df = pd.DataFrame()
        return df

    df = do_something(df)
Run Code Online (Sandbox Code Playgroud)

看起来似乎相同,但是第一个示例更清楚地说明了发生的情况,而第二个示例似乎更清晰。

python exception pandas

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

如何向 Django 表单中的时间字段添加选项?

在我的一个模型中,我有以下内容:

time = models.TimeField() 
Run Code Online (Sandbox Code Playgroud)

在基于此模型的模型表单中,我希望time成为一个包含几个选项的下拉菜单,所以我尝试了以下操作:

time = forms.TimeField(label="time", choices=[(datetime.time(0, 0), "Midnight"), (datetime.time(12, 0), "Noon")])
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: __init__() got an unexpected keyword argument 'choices'
Run Code Online (Sandbox Code Playgroud)

我是否必须在模型的时间字段中进行选择,或者有没有办法在表单中定义它?

django

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

PyQt:为什么弹出对话框会阻止执行其他代码?

我有一个弹出对话框的问题.我有一个组合框,当选项更改时,弹出一个带有textedit小部件的对话框,做一些东西并在textedit小部件中插入一些文本.

这就是我用于弹出窗口的内容:

def function_1(self):
    dialog = QDialog()
    dialog.ui = Ui_Dialog_popup()
    dialog.ui.setupUi(dialog)
    dialog.setAttribute(QtCore.Qt.WA_DeleteOnClose)
    dialog.exec_()
Run Code Online (Sandbox Code Playgroud)

我在QtDesignere中使用弹出的gui代码在一个单独的py文件中.

弹出对话框出现,但是如果没有关闭对话框,则无法执行任何其他操作.您知道我该如何处理这个问题?谢谢.

python pyqt qdialog pyqt4

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

如何在大熊猫的group_by中计算特定值?

我有一个数据框,我使用groupby按Season对它进行分组。原始df的一列名为Check,由True和False组成。我的目标是计算每个组的True值并将其放入新的数据框中。

import pandas as pd

df = ....
df['Check'] = df['Actual'] == df['Prediction']
grouped_per_year = df.groupby('Season')

df_2= pd.DataFrame()
df_2['Seasons'] = total_matches_per_year.keys()
df_2['Successes'] = ''
df_2['Total_Matches'] = list(grouped_per_year.size())
df_2['SR'] = df_2['Successes'] / df_2['Total_Matches']
df_2['Money_In'] = list(grouped_per_year['Money_In'].apply(sum))
df_2['Profit (%)'] = (df_profit['Money_In'] - df_profit['Total_Matches']) / df_profit['Total_Matches'] * 100.
Run Code Online (Sandbox Code Playgroud)

我试过了:

successes_per_year = grouped_per_year['Pred_Check'].value_counts()
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何只获得真实的计数。

python pandas

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

如何在Bootstrap 4中将文本放置在卡中图像叠加层的底部

我正在使用Bootstrap 4和带有图像叠加层的卡在图像上放置一些文本。文本显示在图像的顶部,而我希望它显示在底部。

这是卡的html代码:

 <div class="card-deck">
      {% for article in article_list|slice:":3" %}
      <div class="card card-inverse align-self-center">
          <div class="card-header text-center">
            {{ article.category|capfirst }}
          </div>
        <img class="card-img" src="{% static article.image %}" alt="Card    image cap">
        <div class="card-img-overlay">
            <h4 class="card-title">{{ article.title }}</h4>
        </div>
      </div>
    {% endfor %}
Run Code Online (Sandbox Code Playgroud)

html css bootstrap-4

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

如何使用 django 导入导出在 admin 中对导入字段进行排序?

我正在使用 django 导入导出并将ImportExportModelAdmin数据从文件导入到管理界面的数据库中。

以下是我使用的模型资源:

class ImportedBetResource(resources.ModelResource):
    date = fields.Field(column_name='Date',
                         attribute='date',
                         widget=DateWidget(format="%d/%m/%Y"))
    time = fields.Field(column_name='Time',
                         attribute='time',
                         widget=TimeWidget(format="%H:%M"))
    sport = fields.Field(column_name='Sport',
                         attribute='sport',
                         widget=ForeignKeyWidget(Sport, 'name'))
    country = fields.Field(column_name='Country',
                           attribute='country',
                           widget=ForeignKeyWidget(Country, 'name'))
    bookie = fields.Field(column_name='Bookie',
                          attribute='bookie',
                          widget=ForeignKeyWidget(Bookie, 'name'))
    currency = fields.Field(column_name='Currency',
                            attribute='stake_currency',
                            widget=ForeignKeyWidget(Currency, 'name'))
    odds = fields.Field(column_name="Odds",
                        attribute="odds",
                        widget=DecimalWidget())
    status = fields.Field(column_name='Status',
                          attribute='status',
                          widget=ForeignKeyWidget(Status, 'name'))

    class Meta:
        model = Bet
        fields = ("id", "date", "time", "sport",
                  "country",
                  "competition", "home",
                  "visitor",
                  "bookie", "bet", "stake",
                  "currency",
                  "odds", "status")
        clean_model_instances = True


    @classmethod
    def field_from_django_field(self, …
Run Code Online (Sandbox Code Playgroud)

python django django-import-export

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