|
1、pandas读取外部数据
假设现有一组关于狗的名字的统计数据,那么为了观察这组数据的情况,我们应该怎么做呢?1、
我们这组数据存在csv中,直接用pd.read_csv即可
和我们想象的有些差别,我们认为他会是个Series类型,但是他是个DataFrame,那么接下来我们就来了解这种数据类型。
但是还有一个问题:对于数据库比如mysql或者mongodb中数据,我们应该如何使用呢?
pd.read_sql(sql_sentence,connection)
那么mongodb呢?pandas中没有read_mongodb方法,具体可以百度
import pandas as pd # pandas获取csv中的文件 df = pd.read_csv('E:\paper\用户画像\小木虫论文代码\协同过滤算法练习\训练模型前数据处理代码\对主题感兴趣的用户.csv',encoding='gbk') print(df)
2、pandas之DataFrame
t = pd.DataFrame(np.arange(12).reshape((3,4))) print(t) #未指定行、列标签 ''' 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 '''
我们知道竖着的那一列是索引,那横着的那一列是什么呢?
DataFrame对象既有行索引,又有列索引
行索引,表明不同行,横向索引,叫index,0轴,axis=0
列索引,表明不同列,纵向索引,叫columns,1轴,axis=1
t = pd.DataFrame(np.arange(12).reshape((3,4)),index=list('abc'),columns=list('wxyz')) print(t) #指定行索引和列索引 ''' w x y z a 0 1 2 3 b 4 5 6 7 c 8 9 10 11 '''
那么问题来了:
1、DataFrame和Series有什么关系呢?
2、Series能够传入字典,那么DataFrame能够传入字典作为数据么?
3、对于一个dataframe类型,既有行索引,又有列索引,我们能够对他做什么操作呢?
d1 = {'name':['xiaohong','ming'],'age':[30,32],'tel':[10086,10010]} t1 = pd.DataFrame(d1) print(t1) print(type(t1)) ''' name age tel 0 xiaohong 30 10086 1 xiaoang 32 10010 <class 'pandas.core.frame.DataFrame'> '''
通过字典形式创建DataFrame
d2 = [{'name':'xiaohong','age':30,'tel':10086},{'name':'xiaoang','tel':10000},{'name':'xiaowang','age':12}] t1 = pd.DataFrame(d2) print(t1) print(type(t1)) ''' name age tel 0 xiaohong 30.0 10086.0 1 xiaoang NaN 10000.0 2 xiaowang 12.0 NaN <class 'pandas.core.frame.DataFrame'> '''
和ndarray一样,我们通过shape.ndim,dtype了解ndarray的基本信息,那么对于DataFrame我们有什么方法了解呢?
DataFrame的基础属性
df.shape | 行数、列数 |
df.dtypes | 列数据类型 |
df.ndim | 数据维度 |
df.index | 行索引 |
df.columns | 列索引 |
df.values | 对象值,二维ndarray数组 |
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-19 21:54
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社