import numpy as np
import pandas as pd
# 1. (简答题)
# 创建并访问DataFrame对象。
print("创建3×3DataFrame数据对象:数据内容为1-9;行索引为字符a,b,c;列索引为字符串one,two,three;")
obj=pd.DataFrame(data=np.arange(1,10).reshape(3,3),index=['a','b','c'],columns=["one","two","three"])
print(obj)
print("\n查询列索引为two和three两列数据;")
print(obj.loc[:,['two','three']])
print("\n查询第0行、第2行、第0列、第2列数据;")
print(obj.iloc[[0,2],[0,2]])
print("\n筛选第1列中值大于2的所有行数据,另存为data1对象;")
data1=obj[obj['two']>2].copy()
print(data1)
print("\n为data1添加一列数据列索引为four值都为10;")
data1["four"]=10
print(data1)
print("\n将data1所有值大于9的数据修改为8:")
data1[data1>9]=8
print(data1)
print("\n删除data1中第0行和第1行数据:")
print(data1.drop(['b','c'],axis=0))
# 【提示】
# 1)生成数据使用numpy的arange()函数和reshape()函数。
# 2)使用 data>9生成布尔型的DataFrame用于整个DataFrame的数据过滤。
import numpy as np
import pandas as pd
# 创建 50 × 7 的DataFrame对象,数据为 [10,99]之间的随机整数;
#
# columns 为字符a-g;将 DataFrame 对象保存到csv文件中。
#
# 【提示 】 使用 NumPy 的随机生成函数 randint 生成数据。
data=np.random.randint(10,100,size=(50,7))
obj=pd.DataFrame(data,index=range(1,51),columns=['a','b','c','d','e','f','g'])
obj.to_csv(path_or_buf="D:\pro\workspace\pythonProject1\practise.csv",index=False)
import pandas as pd
# 3. (简答题)
# 海伦一直使用在线交友网站寻找适合的约会对象 , 她将交友数据存放在datingTestSet.xls 文件中。
# 1)从文件中读取有效数据保存到 Dataframe 对象中,跳过所有文字解释行;
# 2)列索引名设为['flymiles', 'videogame', 'icecream', 'type'];
f=pd.read_csv(filepath_or_buffer="D:\cxdownload\datingTestSet.csv",sep=','
,index_col=0,names=['flymiles', 'videogame', 'icecream', 'type'],skiprows=2)
# 3)显示读取到的前面5条数据;
print("前面5条数据:")
print(f.head())
# 4)显示所有'type'为largeDoses的数据。
mark = f[f['type'] == 'largeDoses']
print("所有'type'为largeDoses的数据:")
print(mark)