按照列A过滤DataFrame,并根据列B的条件,输出列C的最小值的最佳方法是使用pandas库的groupby和agg函数。
假设我们有一个名为df的DataFrame,其中包含列A、列B和列C。
import pandas as pd
# 创建示例DataFrame
data = {'A': ['A1', 'A1', 'A2', 'A2', 'A3', 'A3'],
'B': [1, 2, 3, 4, 5, 6],
'C': [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)
# 按照列A过滤DataFrame,根据列B的条件,输出列C的最小值
filtered_df = df[df['A'] == 'A1'] # 过滤列A等于'A1'的行
min_value = filtered_df[filtered_df['B'] > 1]['C'].min() # 根据列B的条件过滤行,并获取列C的最小值
print(min_value)
输出结果为:
20
在上述代码中,首先使用df[df['A'] == 'A1']过滤出列A等于'A1'的行,然后使用filtered_df[filtered_df['B'] > 1]['C']根据列B的条件过滤出符合条件的行,并获取列C的值。最后,使用.min()函数获取列C的最小值。