思考与练习1
1. 创建并访问Series对象。
1)创建如下表的Series数据对象,其中a-f为索引;
2)增加数据27,索引为g;
3)修改索引d对应的值为40;
4)查询值大于27的数据;
5)删除位置为1-3的数据。
【提示】位置1-3的索引列表,可以用 series.index[1:4] 来得
import pandas as pd
import numpy as np
from pandas import Series,DataFrame
#1)
data = Series([30,25,27,41,25,34],index = ['a','b','g','d','e','f'])
print(data)
#2)
a = Series([40],index = ['d'])
newdata = data.append(a)
print(newdata)
#3)
data['d'] = 40
print(data['d'])
#4)
print(data[data.values >= 27])
#5)
newdata = data.drop(data.index[1:4])
print(newdata)
课后练习1
1. 创建并访问DataFrame对象。
a) 创建3×3DataFrame数据对象:数据内容为1-9;行索引为字符a,b,c; 列索引为字符串one,two,three;
b) 查询列索引为two和three两列数据;
c) 查询第0行、第2行、第0列、第2列数据;
d) 筛选第1列中值大于2的所有行数据,另存为data1对象;
e) 为data1添加一列数据,列索引为four,值都为10;
f) 将data1所有值大于9的数据修改为8;
g) 删除data1中第0行和第1行数据。
【提示】
1)生成数据,使用numpy的arange()函数和reshape()函数;
2)使用 data>9生成布尔型的DataFrame,用于整个DataFrame的数据过滤。
import pandas as pd
import numpy as np
from pandas import Series, DataFrame
#a)
data0 = DataFrame(np.arange(1,10).reshape(3,3),index = ['a','b','c'],columns = ['one','two','three'])
print(data0)
#b)
print(data0[['two','three']])
#c)
print(data0.iloc[[0,2],[0,2]])
#d)
data1 = data0.loc[data0['two'] > 2]
print(data1)
#e)
data1['four'] = [