繁体   English   中英

Python,Pandas-如何在数据范围内打印某些内容?

[英]Python, Pandas - How can I get something printed in a data range?

我想创建一个允许用户选择范围的函数,它将打印出该范围内的数字。 但是,我的代码不断获取空的DataFrame。 谁能帮我?

`将熊猫作为pd导入

if __name__ == "__main__":   
file_name = "sales_rossetti.xlsx"    

# Formatting numbers (e.g. $1,000,000)
pd.options.display.float_format = '${:,.0f}'.format

# Reading Excel file
df = pd.read_excel(file_name, index_col = 0, convert_float = False)
print ("Welcome to Rossetti's Sales program\n")  
print ("1) Search by State")
print ("2) Search by Jan Sales")
print ("3) Search by Q2 sales")
print ("4) Exit")

my_option = input ("Please select a menu option:")


if (my_option=="2"):
    my_columns = ["Name", "City", "State", "Jan"]
    your_sales = input("please enter the minimum sale: ")
    your_sales = input("please enter the maxium sale: ")
    print (df[my_columns][df.Jan>int(your_sales)][df.Jan<int(your_sales)])`

重复使用时,您将覆盖your_sales变量,因此,应为min和max参数使用不同的变量名称。 然后,您需要使用loc生成适当的布尔掩码,并使用括号和& to and布尔值数组将布尔条件括起来:

if (my_option=="2"):
    my_columns = ["Name", "City", "State", "Jan"]
    min_sales = input("please enter the minimum sale: ")
    max_sales = input("please enter the maxium sale: ")
    print (df.loc[(df.Jan > int(min_sales) ) & (df.Jan < int(max_sales)), my_columns])

以上应该工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM