Python pandas DataFrame
小象学院 Python人工智能学习纪要
http://www.chinahadoop.cn/bootcamp/course/1276
dataframe官方api
http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html
Code demo:
import pandas as pd
def transfer_odd_even(x):
if x % 2 == 0:
return 'odd'
else:
return 'even'
arr = pd.DataFrame({
'a': [1, 2, 3],
'b': [4, 5, 6]
})
arr2 = arr.applymap(transfer_odd_even)
print(arr2)
Output:
a b
0 even odd
1 odd even
2 even odd
Practice:
import pandas as pd
fruits_sold = pd.DataFrame({
's1': [20.85746739, 48.69399627, 6.64139183, 43.97206466, 42.24557245, 6.59165588, 18.14644399, 0.51207489,
4.07669522, 40.2318477],
's2': [44.12131395, 21.25162529, 10.10155038, 18.26017017, 26.81437566, 22.6139889, 34.7631294, 12.53410469,
23.19350524, 13.7823773],
's3': [45.81103321, 6.06090098, 13.54856198, 26.20863107, 23.12541538, 45.61618866, 46.27495742, 14.26893644,
24.02366712, 0.64639531],
's4': [6.284111, 21.20035631, 20.64741436, 17.21031833, 1.14764087, 48.34064417, 43.86282243, 28.06504264,
49.73980011, 24.48708205],
's5': [33.1696067, 42.65221954, 10.76371411, 30.74131832, 0.37146529, 42.56511105, 42.08960913, 16.59236303,
6.43504234, 45.85999181],
's6': [42.05696716, 27.41229091, 11.66774126, 1.85674496, 3.32968606, 40.72835009, 28.8835585, 26.46075757,
46.33800476, 35.4963476]},
index=['5-1', '5-2', '5-3', '5-4', '5-5', '5-6', '5-7', '5-8', '5-9', '5-10'],
)
def sold_grade(amount):
if amount >= 40:
return 'A'
elif amount >= 30:
return 'B'
else:
return 'C'
fruits_sold_grade = fruits_sold.applymap(sold_grade)
print(fruits_sold_grade)
s1 s2 s3 s4 s5 s6
5-1 C A A C B A
5-2 A C C C A C
5-3 C C C C C C
5-4 A C C C B C
5-5 A C C C C C
5-6 C C A A A A
5-7 C B A A A C
5-8 C C C C C C
5-9 C C C A C A
5-10 A C C C A B
Conclusion
1.Applymap 方法将DataFrame的每个元素经过函数运算之后转换成新的元素。
Code demo
import pandas as pd
demo_arr = pd.DataFrame([[1, 2