首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编写动态代码进行下一次分析

如何编写动态代码进行下一次分析
EN

Stack Overflow用户
提问于 2017-07-24 12:31:21
回答 1查看 49关注 0票数 0

数据:

代码语言:javascript
运行
复制
   District      Crop      Village  Area
0     Nagar  Soyabean        Aagar    10
1     Nagar  Soyabean    Dhagewadi    32
2     Nagar  Soyabean    Sherewadi    34
3     Nagar  Soyabean     Shindwad    42
4     Nagar  Soyabean  Ambikanagar    45
5     Nagar  Soyabean     Khanapur    65
6     Nagar  Soyabean      Dhokari    84
7     Nagar  Soyabean       Pangri   105
8     Nagar  Soyabean     Pi.Khand   120
9     Nagar  Soyabean     Gardhani   122
10    Nagar  Soyabean       Takali   127
11    Nagar    Cotton        Aagar   125
12    Nagar    Cotton    Dhagewadi   110
13    Nagar    Cotton    Sherewadi   153
14    Nagar    Cotton     Shindwad   147
15    Nagar    Cotton  Ambikanagar   180
16    Nagar    Cotton     Khanapur   185
17    Nagar    Cotton      Dhokari   100
18    Nagar    Cotton       Pangri   135
19    Nagar    Cotton     Pi.Khand   120
20    Nagar    Cotton     Gardhani   174
21    Nagar    Cotton       Takali    85

Python代码:

代码语言:javascript
运行
复制
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.read_csv("/home/desktop/Data.csv")
df
df1=df[1:11]  #Using df1 for getting soyabean Crop area 
df2=df[12:22] #Using df2 for getting Cotton Crop area
df1 = df1.sort('Area', ascending=False)  # getting villages in descending order for select top 5 villages for soyabean crop
df2 = df2.sort('Area', ascending=False) # getting villages in descending order for select top 5 villages for cotton crop

数据是样本文件,但我有25个不同的作物数据。

因此,在我的代码中,我对25种作物使用了df1,df2....df25。

我需要检查每一种作物的总排数。

而且有可能输入错误的数字。

喜欢

df2 = if 12:22,如果某个时候输入了df2=df13:22,那么它将按降序错误选择。

因此,我需要一些逻辑代码,这将适用于“裁剪”列。

如果作物=大豆,那么它将自动显示顶部村庄(降序)的大豆作物使用面积。

如果作物=棉花,那么它将自动显示棉花作物的顶级村庄。

棉花不需要键入df2= 22 12:22。

有什么帮助吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-24 12:44:38

这称为布尔索引,并使用以下语法完成:

代码语言:javascript
运行
复制
df_0 = df[df['Crop'] == 'Soyabean']
df_1 = df[df['Crop'] == 'Cotton']

df_0
   District      Crop      Village  Area
0     Nagar  Soyabean        Aagar    10
1     Nagar  Soyabean    Dhagewadi    32
2     Nagar  Soyabean    Sherewadi    34
3     Nagar  Soyabean     Shindwad    42
4     Nagar  Soyabean  Ambikanagar    45
5     Nagar  Soyabean     Khanapur    65
6     Nagar  Soyabean      Dhokari    84
7     Nagar  Soyabean       Pangri   105
8     Nagar  Soyabean     Pi.Khand   120
9     Nagar  Soyabean     Gardhani   122
10    Nagar  Soyabean       Takali   127

这不需要循环。您可以在这里阅读更多内容:https://pandas.pydata.org/pandas-docs/stable/indexing.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45280725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档