{"kind":"task","effective_mode":"full","benchmark":{"kind":"benchmark","effective_mode":"full","slug":"ds-1000","formal_name":"DS-1000","introduction":"DS-1000 builds 1,000 data-science problems from real StackOverflow questions across seven libraries including NumPy, Pandas and Matplotlib. The problems are perturbed so that recalling the original answer does not solve them.","introduction_ja":"","introduction_en":"","category":"Category not supplied","task_count":null,"acquisition_status":"Acquisition status not supplied","official_url":"https://ds1000-code-gen.github.io/","indexing_mode":"noindex","profile":{"resources":[],"task_format":"","scoring":"","metric":"","size":"","answer_access":"","license":"","citation":"","maintainer":"","released":"","why_hard":"","related":[]}},"task_id":"8b611e09-e5be-5ce0-bab5-7572a01cc711","task_key":"default--test--148","task_revision_id":"2","upstream_id":"148","short_description":"Example","config":"default","split":"test","body":"{\"prompt\":\"Problem:\\nExample\\nimport pandas as pd\\nimport numpy as np\\nd = {'l':  ['left', 'right', 'left', 'right', 'left', 'right'],\\n     'r': ['right', 'left', 'right', 'left', 'right', 'left'],\\n     'v': [-1, 1, -1, 1, -1, np.nan]}\\ndf = pd.DataFrame(d)\\n\\n\\nProblem\\nWhen a grouped dataframe contains a value of np.NaN I want the grouped sum to be NaN as is given by the skipna=False flag for pd.Series.sum and also pd.DataFrame.sum however, this\\nIn [235]: df.v.sum(skipna=False)\\nOut[235]: nan\\n\\n\\nHowever, this behavior is not reflected in the pandas.DataFrame.groupby object\\nIn [237]: df.groupby('l')['v'].sum()['right']\\nOut[237]: 2.0\\n\\n\\nand cannot be forced by applying the np.sum method directly\\nIn [238]: df.groupby('l')['v'].apply(np.sum)['right']\\nOut[238]: 2.0\\n\\n\\ndesired:\\nl\\nleft    -3.0\\nright    NaN\\nName: v, dtype: float64\\n\\n\\nA:\\n<code>\\nimport pandas as pd\\nimport numpy as np\\n\\n\\nd = {'l':  ['left', 'right', 'left', 'right', 'left', 'right'],\\n     'r': ['right', 'left', 'right', 'left', 'right', 'left'],\\n     'v': [-1, 1, -1, 1, -1, np.nan]}\\ndf = pd.DataFrame(d)\\n</code>\\nresult = ... # put solution in this variable\\nBEGIN SOLUTION\\n<code>\\n\"}","display_format":"code","language":"","answer_status":"published","assets":[],"source_url":"https://ds1000-code-gen.github.io/","history":"initial import","indexing_mode":"noindex","subproblems":[],"grids":[]}