Панды: как суммировать наборы данных неравного размера?

В дополнение к другим ответам выше,

Вы также можете попробовать это, чтобы удалить расширения .php полностью из вашего файла и избежать бесконечного цикла:

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [NC,L]

Этот код будет работайте в Root / .htaccess. Обязательно измените RewriteBase, если вы хотите поместить его в файл htaccess в подкаталоге.

Изменить:

На apache 2.4 и более поздних версиях вы также может использовать флаг END для предотвращения ошибки бесконечного цикла. Следующий пример работает так же, как и выше, на apache 2.4,

RewriteEngine on

RewriteRule ^(.+)\.php$ /$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [NC,END]
-1
задан blue_note 16 January 2019 в 16:41
поделиться

2 ответа

Вы можете объединить Series в DataFrame и затем использовать .agg. NaN будет вставлено, чтобы заполнить ячейки с неравной длиной, но большинство функций pandas agg будут игнорировать их по умолчанию для расчетов.

import pandas as pd
df = pd.concat([pd.Series(x) for x in [X_1, X_2]], axis=1, keys=['X_1', 'X_2'])

df.agg(['mean', 'std']).T
#     mean       std
#X_1   2.0  1.000000
#X_2   6.0  1.581139

Если у вас много списков, возможно, лучше хранить их в словаре, чтобы избежать записи ключей и списков по отдельности

0
ответ дан ALollz 16 January 2019 в 16:41
поделиться

Я буду использовать describe

df=pd.concat([pd.Series(x) for x in [X_1, X_2]], axis=0, keys=['X_1', 'X_2'])# notice here I am using axis=0 rather than 1 
df.groupby(level=0).describe()
Out[442]: 
     count  mean       std  min  25%  50%  75%  max
X_1    3.0   2.0  1.000000  1.0  1.5  2.0  2.5  3.0
X_2    5.0   6.0  1.581139  4.0  5.0  6.0  7.0  8.0

особые случаи

X_1 = [1,2,np.nan] 
X_2 = [4,5,6,7,8]

df=pd.concat([pd.Series(x) for x in [X_1, X_2]], axis=0, keys=['X_1', 'X_2'])
df.groupby(level=0).size()
Out[445]: 
X_1    3
X_2    5
dtype: int64
0
ответ дан Wen-Ben 16 January 2019 в 16:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: