【发布时间】:2018-06-12 06:29:44
【问题描述】:
我将一个 csv 转换为一个名为 a 的列表。我有一种方法可以通过条件对我的数据进行分类。问题是它不起作用。如果在我的所有Cliente 上都有任何称为“稳定”的元素,我将条件设置为'Estable',这不是我需要的,但对于所有没有'Estable' 的客户作为 AAA 和 BBB,我希望你把'NoAnalyzed' 我在代码下面解释。
import pandas as pd
a = [['Cliente', 'Fecha', 'Variables', 'Dia Previo', 'Mayor/Menor', 'Dia a Analizar', 'Analisis'],
['AAA', '27/12/2017', 'ECPM_medio', '0.41', 'Dentro del Margen', '0.35', 'Incremento'],
['BBB', '27/12/2017', 'ECPM_medio', '1.06', 'Dentro del Margen', '1.06', 'Alerta'],
['CCC', '27/12/2017', 'ECPM_medio', '1.06', 'Dentro del Margen', '1.06', 'Estable']]
headers = a.pop(0)
df = pd.DataFrame(a, columns = headers)
df['Analisis']
for elemento in df['Analisis']:
if elemento == 'Estable':
df['Status'] = 'Stable: The client''s performance was Stable'
else:
df['Status'] = 'NoAnalyzed'
df1= df.groupby(['Cliente','Fecha', 'Status']).size()
df1
output:
>>>
Cliente Fecha Status
AAA 27/12/2017 Stable: The clients performance was Stable 1
BBB 27/12/2017 Stable: The clients performance was Stable 1
CCC 27/12/2017 Stable: The clients performance was Stable 1
I need:
>>>
Cliente Fecha Status
AAA 27/12/2017 NoAnalyzed 1
BBB 27/12/2017 NoAnalyzed 1
CCC 27/12/2017 Stable: The clients performance was Stable 1
【问题讨论】:
标签: python python-2.7 pandas csv dataframe