2017-02-17 106 views
0

我想读取excel文件并在excel文件中过滤数据。例如用熊猫过滤Excel数据

excel data

我想在Python阅读。而且,我想过滤直接从Python中的excel中获取的数据。例如,我想定义苹果的范围并将它们分类为“最佳”和“最差”。可以说,低于3的苹果是“最差的”,高于5的是“最好的”。

有没有人有任何想法我该怎么做?

+0

欢迎来到SO,任何尝试呢? –

回答

0

这是你所需要的:

import numpy as np 
import pandas as pd 

df = pd.read_excel(filename) #read file 
df = pd.DataFrame({'Apples':np.random.randint(0,10,size=10)}) #for demo 
df['Apples_cat'] = (pd.cut(df['Apples'],bins=[-np.inf,2,5,np.inf],labels=['worst','ok','best'])) 
print(df) 

输出:(因为df是随机在演示生成,输出会有点差异)

Apples Apples_cat 
0  2  worst 
1  2  worst 
2  5   ok 
3  2  worst 
4  1  worst 
5  5   ok 
6  5   ok 
7  6  best 
8  4   ok 
9  2  worst 
+0

当我运行代码时发生此错误:NameError:未定义名称'np' – OykuA

+0

@OykuAtes,在代码示例 –

+0

中添加了'import numpy as np'这一行谢谢您的回复@AlexFung,它适用于简单的excel文件。但是当我试图运行它的其他Excel文件,如[https://i.stack.imgur.com/vLoFC.png]它给KeyError:'苹果' – OykuA

0

你可以做

import pandas as pd 

data = pd.read_excel ('fruits.xls') 

data['apple_category'] = "medium" 

data.loc[data['Apples'] < 3, 'apple_category'] = "worst" 
data.loc[data['Apples'] > 5, 'apple_category'] = "best"