dhu 数据科学与技术 第3次作业

一. 简答题(共2题,100分)

  1. (简答题, 50分)
  2. 创建并访问DataFrame对象。

创建3×3DataFrame数据对象:数据内容为1-9;行索引为字符a,b,c;列索引为字符串‘one’,‘two’,‘three’;

查询列索引为‘two’和‘three’两列数据;

查询第0行、第2行、第0列、第2列数据;

筛选第1列中值大于2的所有行数据,另存为data1对象;

为data1添加一列数据,列索引为‘four’,值都为10;

将data1所有值大于9的数据修改为8;

删除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
data = DataFrame(np.arange(1,10).reshape(3,3),index = ['a','b','c'],columns = ['one','two','three']) #(1
print(data.loc[:,['two','three']]) #(2
print(data.iloc[[0,2],:]) #(3
print(data.iloc[:,[0,2]]) #(4
data1 = data.loc[data.iloc[:,1] > 2]
print(data1) #(5
data1.loc[:,'four'] = 10
print(data1) #(6
data1[data1>9]=8
print(data1) #(7
print(data1.drop(data1.index[0:2],axis = 0)) #(8
  1. (简答题, 50分)
    海伦一直使用在线交友网站寻找适合的约会对象, 她将交友数据存放在datingTestSet.xls文件中。

    1)从文件中读取有效数据保存到Dataframe对象中,跳过所有文字解释行;

    2)列索引名设为 [‘flymiles’,‘videogame’,‘icecream’,'type‘];

    3)显示读取到的前5条数据;

    4)显示所有’type’为’largeDoses‘的数据;

    5)将平均每周玩视频游戏时间超过10的数据都改成10;

    6)将修改后的DataFrame对象保存到文件中,保留行、列索引。

datingTestSet.csv`

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
dT = pd.read_csv('C:\\python\\datingTestSet.csv',header=None,names=['flymiles','videogame','icecream','type'],skiprows=2) #(1 (2
print(dT[:5]) #(3
print(dT[dT['type'] == 'largeDoses']) #(4
mask = dT['videogame'] > 10
dT.loc[mask,'videogame'] = 10 #(5
print(dT)
dT.to_csv('C:\\python\\datingTestSet.csv',mode='w') #(6

你可能感兴趣的:(dhu,python,python,numpy,pandas)