Python中文
首页
教程
问答
标签
搜索
登录
注册
for if循环在条件下分类
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我对python还很陌生,以前经常使用Ras.系数并根据数字进行分类。你知道吗</p> <p>早些时候,我尝试使用replace和.loc函数,以便根据条件在新列中提供一个新的category值,但它只会在我想做的事情上失败。你知道吗</p> <p>最终我创建了以下非常简单的函数:</p> <pre><code>g['Category'] = "" for i in g['NumFloorsGroup']: if i == '0-9' or i == '10-19': g['Category'] = 'LowFl' elif i == '50~': g['Category'] = 'HighFl' else: g['Category'] = 'NormalFl' </code></pre> <p>不过,当我运行函数时,它只返回'LowFl',不更正其他部分。我觉得我错过了什么。你知道吗</p> <p>数据信息如下:</p> <pre><code><class 'pandas.core.frame.DataFrame'> Int64Index: 596 entries, 128 to 595 Data columns (total 4 columns): YearBuilt 596 non-null int64 NumFloorsGroup 596 non-null category Count 596 non-null int64 Category 596 non-null object dtypes: category(1), int64(2), object(1) </code></pre> <p>任何评论都会有帮助!你知道吗</p> <pre><code>bins = [0, 10, 20, 30, 40, 50, np.inf] labels = ['0-9', '10-19', '20-29', '30-39', '40-49', '50~'] copy = original_data.copy() copy['NumFloorsGroup'] = pd.cut(copy['NumFloors'], bins=bins, labels=labels, include_lowest=True) g = (copy.groupby(['YearBuilt', 'NumFloorsGroup'])['YearBuilt'] .count() .reset_index(name="Count") .sort_values(by='Count', ascending=False)) </code></pre> <p>而那些只返回LowFl的部分</p> <pre><code>g['Category'] = "" for i in g['NumFloorsGroup']: if i == '0-9' or i == '10-19': g['Category'] = 'LowFl' elif i == '50~': g['Category'] = 'HighFl' else: g['Category'] = 'NormalFl' </code></pre> <p>这会将所有类别返回为LowFl</p> <pre><code> YearBuilt NumFloorsGroup Count Category 128 1920 0-9 90956 LowFl 171 1930 0-9 76659 LowFl 144 1925 0-9 70387 LowFl 237 1950 0-9 47237 LowFl 91 1910 0-9 46384 LowFl </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你可以试试这个:</p> <pre><code>d = { "0-9": 'LowFl', "10-19": 'LowFl', "10-19": '50~', } g['NumFloorsGroup'].map(lambda key: d.get(key, 'NormalFl')) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
5 回答
我想从用户导入值,为此
9 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
8 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
5 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
6 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
1 回答
我想从第一个空lin开始解析文本文件
9 回答
我想从简历、简历中提取特定部分
1 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
2 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
3 回答
我想从网上搜集一些关于抵押贷款的数据
3 回答
我想从网站上删除电子邮件地址
7 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
5 回答
我想从网站中提取数据,然后将其显示在我的网页上
4 回答
我想从网页上提取统计数据。
7 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
2 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
5 回答
我想从课堂上打印字典里的键
5 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
6 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
9 回答