所以,我有这个包含近 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)
有没有更有效的方法来做到这一点?
我刚刚开始使用 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) 我刚刚开始使用 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)