Рассчитать среднее значение столбца x, если столбец y соответствует критериям, для каждого значения y

Нет, вложенные формы запрещены.


Это выражается в DTD HTML 4.01 как:


- http: // www. w3.org/TR/html4/interact/forms.html#h-17.3

Это означает . FORM имеет обязательный начальный тег, обязательный конечный тег и может содержать что-либо в% блок или SCRIPT, за исключением других FORM.


XML DTD не так выразительны, как SGML DTD, поэтому в XHTML это правило указывается только в человекообразном тексте спецификации:

форма не должна содержать других элементов формы.

blockquote>

- http://www.w3.org/TR/xhtml1/#prohibitions


HTML 5 не является SGML-приложением и не имеет официального машиносчитываемого описания языка. Он также выражает это правило в тексте:

Модель контента:

Содержимое потока, но без потомков элемента формы.

blockquote>

- http://www.w3.org/TR/html5/forms.html#the-form-element

1
задан jpp 17 January 2019 в 18:15
поделиться

3 ответа

Вы имеете в виду это?

df[df['Z']>1].loc[:,'Z'].mean(axis=0) 

или

df[df['Z']>1]['Z'].mean()
0
ответ дан aerijman 17 January 2019 в 18:15
поделиться

Не знаю, правильно ли я понял твой вопрос, но ты имеешь в виду следующее:

import pandas as pd
import numpy as np

data=[9,2,3,4,5,6,7,8]
columns = ['A', 'B', 'C', 'D','E']
df = pd.DataFrame(np.random.randn(8, 5),columns=columns)
fd=pd.DataFrame(data,columns=['Z'])

df=pd.concat([df,fd], axis=1)
print('df = \n', str(df))

anyGreaterThanOne = (df[columns] > 1).any(axis=1)
print('anyGreaterThanOne = \n', str(anyGreaterThanOne))
filtered = df[anyGreaterThanOne]
print('filtered = \n', str(filtered))
Zmean = filtered['Z'].mean()
print('Zmean = ', str(Zmean))

Результат:

    df = 
           A         B         C         D         E  Z
0 -2.170640 -2.626985 -0.817407 -0.389833  0.862373  9
1 -0.372144 -0.375271 -1.309273 -1.019846 -0.548244  2
2  0.267983 -0.680144  0.304727  0.302952 -0.597647  3
3  0.243549  1.046297  0.647842  1.188530  0.640133  4
4 -0.116007  1.090770  0.510190 -1.310732  0.546881  5
5 -1.135545 -1.738466 -1.148341  0.764914 -1.140543  6
6 -2.078396  0.057462 -0.737875 -0.817707  0.570017  7
7  0.187877  0.363962  0.637949 -0.875372 -1.105744  8

anyGreaterThanOne = 
 0    False
1    False
2    False
3     True
4     True
5    False
6    False
7    False
dtype: bool

filtered = 
           A         B         C         D         E  Z
3  0.243549  1.046297  0.647842  1.188530  0.640133  4
4 -0.116007  1.090770  0.510190 -1.310732  0.546881  5

Zmean =  4.5
0
ответ дан godfryd 17 January 2019 в 18:15
поделиться

Использование словарного понимания:

res = {col: df.loc[df[col] > 1, 'Z'].mean() for col in df.columns[:-1]}
# {'A': 9.0, 'B': 5.0, 'C': 8.0, 'D': 7.5, 'E': 6.666666666666667}

Установки, используемые для выше:

np.random.seed(0)
data = [9,2,3,4,5,6,7,8]
df = pd.DataFrame(np.random.randn(8, 5),columns=['A', 'B', 'C', 'D','E'])
fd = pd.DataFrame(data, columns=['Z'])
df = pd.concat([df, fd], axis=1)
0
ответ дан jpp 17 January 2019 в 18:15
поделиться
Другие вопросы по тегам:

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