小编Lev*_*osa的帖子

检查列表是否是熊猫数据框中另一个列表的子集

所以,我有这个包含近 3000 行的数据框,看起来像这样:

        CITIES
0       ['A','B']
1       ['A','B','C','D']
2       ['A','B','C']
4       ['X']
5       ['X','Y','Z']
...     ...
2670    ['Y','Z']
Run Code Online (Sandbox Code Playgroud)

我想从 DF 中删除“CITIES”列表包含在另一行中的所有行(顺序无关紧要),在上面的示例中,我想删除 0 和 2,因为两者都包含在 1 中,并删除 4 和 2670,因为两者都包含在内,我尝试了一些东西,它有点工作,但它真的很愚蠢,花了将近 10 分钟来计算,就是这样:

indexesToRemove=[]
for index, row in entrada.iterrows():
    citiesListFixed=row['CITIES']
    for index2, row2 in entrada.iloc[index+1:].iterrows():
        citiesListCurrent=row2['CITIES']
        if set(citiesListFixed) <= set(citiesListCurrent):
            indexesToRemove.append(index)
            break
Run Code Online (Sandbox Code Playgroud)

有没有更有效的方法来做到这一点?

python pandas

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

无法在 php:7.4-alpine 中安装 intl

我刚刚开始使用 Docker,我正在尝试使用 php:7.4-alpine 映像运行 ZF2 项目,这是我当前拥有的 Dockerfile

FROM php:7.4-alpine

ENV APACHE_DOCUMENT_ROOT /var/www/app/public

COPY ./src /var/www/app

RUN apk add --no-cache \
    apache2 \
    php-apache2 \
    zlib-dev \
    icu-dev \
    libpng-dev \
    composer

RUN docker-php-ext-install \
    gd \ 
    intl \
    mysqli \
    pdo_mysql \
    iconv

RUN chmod -R 775 /var/www/app
RUN chown -R www-data:www-data /var/www/app
RUN cd /var/www/app && composer install

COPY ./apache /etc/apache2

CMD ["/usr/sbin/httpd", "-DFOREGROUND"]
Run Code Online (Sandbox Code Playgroud)

(我使用多个 RUN 只是为了在构建时加快速度,我将在生产中更改它)

问题是,我只收到 500 错误,日志显示了这一点

PHP Fatal error:  Uncaught Error: Class 'Locale' not found …
Run Code Online (Sandbox Code Playgroud)

php docker alpine-linux

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

我应该把我的课程放在主课之内还是之外?(最佳实践)

我刚刚开始使用 Java,尽管我已经有一些 PHP 中的 OOP 经验

在此示例中,我有一个名为 Person 的简单类,其中包含姓名、年龄和性别等字段。我想知道什么被认为是最好的做法,做这样的事情:

public class Main {
    public static void main(String[] args){
        Person customer = new Person("Jonh Smith", 21, 'M');
        System.out.println(customer.name);
    }

    public static class Person {
        public String name;
        public int age;
        public char sex;

        public Person(String name, int age, char sex){
            this.name = name;
            this.age = age;
            this.sex = java.lang.Character.toUpperCase(sex);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,Person 类需要是静态的才能工作,这让我想知道这可能不是最好的方法,这是另一种方法:

public class Main {
    public static void main(String[] args) {
        Person customer = new Person("Jonh Smith", 21, …
Run Code Online (Sandbox Code Playgroud)

java

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

标签 统计

alpine-linux ×1

docker ×1

java ×1

pandas ×1

php ×1

python ×1