2017-02-17 135 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"