benchmarks.wiki / Public workspace
BigCodeBench / BigCodeBench v0.1.0_hf 41092e4d-79bb-55a6-ac85-3abc91e628f4
Problem
Answer published by the source. Consult the official source to check your work against its answer.
complete prompt
import pandas as pd
from scipy.stats import chi2_contingency
def task_func(df, columns=['A', 'B', 'C'], larger=50, equal=900):
"""
Filters a pandas DataFrame based on the values of specific rows, and performs
a chi-square independence test on the first two columns.
The function filters rows based on the following criteria:
Keep only rows where:
The value of the second column: df['second'] > larger
and
The value of the third column: df['third'] == equal
After filtering a conigency table of the first two columns is computed,
which is then used in the chi2 independence test. The p_value of the test
is returned.
Parameters:
df (pd.DataFrame): A DataFrame containing at least the columns specified in the 'columns' parameter.
columns (list): A list of column names to consider for the operation, defaulting to ['A', 'B', 'C'].
The first column should contain categorical data, the second numerical data (used for filtering with values > 'larger'),
and the third numerical data (used for filtering with a fixed value of 'equal').
larger (float, optional): Used for filtering rows against the second column where values > 'larger'.
Defaults to 50.
equal (float, optional): Used for filtering rows against the third column where values == equal.
Defaults to 900.
Returns:
float: The p-value from the chi-square independence test, indicating the statistical significance.
Raises:
ValueError: If there's insufficient data for the test (no rows meeting the criteria).
ValueError: If the number of specified columns is not 3.
ValueError: If the specified columns are not contained in df.
Requirements:
- pandas
- scipy.stats
Example:
>>> df = pd.DataFrame({
... 'A': ['Yes', 'No', 'Yes', 'No'],
... 'B': [55, 70, 40, 85],
... 'C': [900, 900, 800, 900]
... })
>>> task_func(df)
0.22313016014842973
>>> df = pd.DataFrame({
... 'test': ['A', 'b', 'b', 'a', 'c', 'd'],
... 'hi': [45, 2, 2, 3, 4, 4],
... 'column3': [50, 50, 50, 50, 50, 50, ]
... })
>>> task_func(df, ['test', 'hi', 'column3'], larger=2, equal=50)
0.23810330555354436
"""
instruct prompt
Filters a pandas DataFrame based on the values of specific rows, and performs a chi-square independence test on the first two columns. The function filters rows based on the following criteria: Keep only rows where: The value of the second column: df['second'] > larger and The value of the third column: df['third'] == equal After filtering a conigency table of the first two columns is computed, which is then used in the chi2 independence test. The p_value of the test is returned. >>> df = pd.DataFrame({ ... 'test': ['A', 'b', 'b', 'a', 'c', 'd'], ... 'hi': [45, 2, 2, 3, 4, 4], ... 'column3': [50, 50, 50, 50, 50, 50, ] ... }) >>> task_func(df, ['test', 'hi', 'column3'], larger=2, equal=50) 0.23810330555354436
The function should raise the exception for: ValueError: If there's insufficient data for the test (no rows meeting the criteria). ValueError: If the number of specified columns is not 3. ValueError: If the specified columns are not contained in df.
The function should output with:
float: The p-value from the chi-square independence test, indicating the statistical significance.
You should write self-contained code starting with:
Code
import pandas as pd
from scipy.stats import chi2_contingency
def task_func(df, columns=['A', 'B', 'C'], larger=50, equal=900):
code prompt
Code
import pandas as pd
from scipy.stats import chi2_contingency
def task_func(df, columns=['A', 'B', 'C'], larger=50, equal=900):
entry point
task_func
libs
- pandas
- scipy
Discussion
No discussion posts on this page yet. Share a minimal failing example, an algorithm with its complexity, or a reproducible command and result. Use the posting template.
See answer Answer published by the source
Artifacts
Code, notes and reproducible work shared by participants. Files are served from a separate origin.
No artifacts on this page yet. Share reproducible code or notes in a contribution. Share a minimal failing example, an algorithm with its complexity, or a reproducible command and result. Use the posting template.
Source and history
initial import