(): ...: print(type(i), i) ...: ('a', 0 10 1 20 2 30 Name: a,...df.iteritems(): ...: print(type(i[1]), i[1]) ...: 0...10 1 20 2 30 Name: a, dtype: int64 0 20 1 30 2 40...i[1] , end='\n --------- \n') ...: a 10 b 20 Name: 0,...dtype: int64 --------- a 20 b 30 Name: 1, dtype: int64 --
这个函数需要自己实现,函数的传入参数根据axis来定,比如axis = 1,就会把一行数据作为Series的数据 结构传入给自己实现的函数中,我们在函数中实现对Series不同属性之间的计算,返回一个结果...= df.apply(f) #df.apply(function, axis=0),默认axis=0,表示将一列数据作为Series的数据结构传入给定的function中 print(t1)...(df.apply(np.mean)) >>> df['score_math'].apply('mean') 86.33333333333333...>>> type(df['score_math'].apply(np.mean)) #逐行求每个学生的平均分 >>> df.apply...81.5 dtype: float64 >>> type(df.apply(np.mean,axis=1)) apply()的返回结果与所用的函数是相关的
print(ser_obj) 0 10 1 11...(ser_obj)) # print(ser_obj) # 获取数据 print(type(ser_obj.values)) #...(ser_obj2)) # print(ser_obj2) # 获取数据 print(type(ser_obj2.values)...C 1 D 3 E Python Name: 0, dtype: object <class...1 D 3 E Python Name: 0, dtype: object <class 'pandas.core.series.Series
上一篇,提到了Java泛型的“擦除”;今天,我们说下Java-Type体系; Type是Java 编程语言中所有类型的公共高级接口(官方解释),也就是Java中所有类型的“爹”;其中,“所有类型”的描述尤为值得关注...它并不是我们平常工作中经常使用的 int、String、List、Map等数据类型,而是从Java语言角度来说,对基本类型、引用类型向上的抽象; Type体系中类型的包括:原始类型(Class)、参数化类型...Type体系 查看源码,Type接口下共有4个"儿子",每一个“儿子”代表着Java中的一种类型; 1.ParameterizedType 参数化类型,即泛型;例如:List、Map等带有参数化的对象...GenericArrayType源码 4.Class 上三者不同,Class是Type的一个实现类,属于原始类型,是Java反射的基础,对Java类的抽象; 在程序运行期间,每一个类都对应一个Class...WildcardType源码 以上,简单介绍了Java-Type的体系;为了解决泛型,JDK1.5版本开始引入Type接口;在此之前,Java中只有原始类型,所有的原始类型都是通过Class进行抽象;有了
2 SH 03/07/2016 -10 2 SZ 11/09/2016 -10 1 # 测试自定义聚合函数 def foo(attr): print(type(attr)),print...2 31/01/2016 3 14/02/2016 4 28/02/2016 5 13/03/2016 Name: date, dtype: object <class 'pandas.core.series.Series...22/05/2016 11 05/06/2016 12 19/06/2016 13 03/07/2016 Name: date, dtype: object 18 11/09/2016 19 25/09/2016 Name: date, dtype: object 0...'> 14 10 15 -1 16 1 17 25 Name: temperature, dtype: int64 <class 'pandas.core.series.Series
= s.notnull() print(bs1, type(bs1), bs1.dtype) print(bs2, type(bs2), bs2.dtype) print(bs3, type(bs3)...4 None dtype: object 0 False 1 False 2 False 4 False dtype: bool bool 0 False 1 False 2 False 4 True dtype: bool bool...0 True 1 True 2 True 4 False dtype: bool bool ---...-- Series([], dtype: object) 0 2.03802 1 40.3989 2 25.2001 dtype: object 巩固练习 分别由字典、数组的方式,创建以下要求的
zhaoliu Name: name, dtype: object # 数据框某一列的类型为Series type(df1['name']) pandas.core.series.Series # 访问一行...class 'tuple' 长2(行两部分组成:索引int型,内容Series型) for row in df1.iterrows(): print(row),print(type(row)),...print(len(row)) print(row[0],row[1]) print(type(row[0]),type(row[1])) break (0, name zhangsan...age 11 tel 158 Name: 0, dtype: object) 2 0 name zhangsan age...11 tel 158 Name: 0, dtype: object # 组合Series
(type(s)) print(s) # # 0 1.0 # 1 3.0 # 2 5.0 # 3 7.0...= pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD")) print(type(df1)) print(df1)...# dtype: object 03 查看数据 # 查看头部和尾部数据(可以传参) df1.head() # 查看头部数据,默认为前五行 df1.tail() # 查看尾部数据,默认为后五行 #...(列和行进行互换) df1.T # 按照标签排序 # axis:0按照行名排序;1按照列名排序 # ascending:默认True升序排列;False降序排列 df1.sort_index(axis...# by:如果axis=0,那么by="列名";如果axis=1,那么by="行名"。
2....创建Series s1 = pd.Series({'a': 10, 'b': 20, 'c': 30, 'd': 40}) print(s1) print(type(s1)) a 10 b...20 c 30 d 40 dtype: int64 import numpy as np s2 = pd.Series...0.520705 c 0.419913 d 0.182670 e 0.031500 dtype: float64 ...'> 0 -0.4452 1 -4.9981 2 5.8854 Name: 涨跌幅, dtype: object <class 'pandas.core.series.Series'
)、类型变量(TypeVariable)、基本类型(Class) 进一步说明; 1.ParameterizedType ParameterizedType表示参数化类型,也就是泛型,例如List、...Returns a {@code Type} object representing the type that this type * is a member of. ...1.首先在Class上定义泛型: ? Class定义泛型 2.我们没有在Class上定义泛型,直接在构造方法上定义泛型 ? 泛型构造 3.同样没有在Class定义泛型,直接在普通方法上定义泛型 ?...4.Class Type接口的实现类,是我们工作中常用到的一个对象;在Java中,每个.class文件在程序运行期间,都对应着一个Class对象,这个对象保存有这个类的全部信息;因此,Class对象也称之为...Class 通过上面的例子,可以看出,当我们没有声明泛型的时候,我们普通的对象就是一个Class类型,是Type中的一种; 5.WildcardType ?
/Kats/kats/data/air_passengers.csv") air.head() 字段重命名 一定要有time字段: 方式1:创建TimeSeriesData对象 In [7]: type...(air_ts) # 转换后 Out[9]: kats.consts.TimeSeriesData In [10]: print(type(air_ts.time)) print(type(air_ts.value...)) 方式2:TimeSeriesData(time,value...DataFrame对象 In [25]: air_to_df = air_ts.to_dataframe() air_to_df.head() 扩充extend(重点) 对两个不同的TimeSeries对象在axis...In [4]: multi_ts = TimeSeriesData(df) In [5]: type(multi_ts.time) Out[5]: pandas.core.series.Series In
:",arr1) print("arr1的数据类型:",type(arr1)) s1=pd.Series(arr1) print("序列s1: ",s1) print("s1的数据类型:",type(s1...3 3 4 4 5 5 6 6 7 7 8 8 9 9 dtype: int32 s1的数据类型: <class 'pandas.core.series.Series...: int64 s2的数据类型: 通过已有DataFrame创建 由于涉及到了DataFrame的概念,所以等后面介绍了DataFrame...(s4)) ---- 序列3: a 1 b 2 c 3 d 4 Name: one, dtype: int64 序列3的类型: <class 'pandas.core.series.Series...: int64 序列4的类型: 2 数据索引index 无论数据框还是序列,最左侧始终有一个非原始数据对象,这个就是接下来要介绍的数据索引
:",arr1) print("arr1的数据类型:",type(arr1)) s1=pd.Series(arr1) print("序列s1:\n",s1) print("s1的数据类型:",type(...2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 dtype: int32 s1的数据类型: <class 'pandas.core.series.Series...: int64 s2的数据类型: 通过已有DataFrame创建 由于涉及到了DataFrame的概念,所以等后面介绍了DataFrame...(s4)) ---- 序列3: a 1 b 2 c 3 d 4 Name: one, dtype: int64 序列3的类型: <class 'pandas.core.series.Series...: int64 序列4的类型: 2 数据索引index 无论数据框还是序列,最左侧始终有一个非原始数据对象,这个就是接下来要介绍的数据索引
', 'three'], dtype='object') In [6]: print(ser_obj.values,type...输出为: a 0.037435 b 0.536072 e 0.474856 dtype: float64 切片索引...) print('-----') 输出为: ----- 0 False 1 True 2 False 4 False dtype: bool bool 0 False 1 False 2 False 4 True dtype: bool bool 0 True...1 True 2 True 4 False dtype: bool bool ----- # 数组做判断之后,返回的是一个由布尔值组成的新的数组
(group)) print() ('bar', 'one') 1 -0.375789 Name: C, dtype: float64 ('bar', 'three') 3 -1.564748 Name: C, dtype: float64 ('bar...', 'two') 5 -0.202403 Name: C, dtype: float64 ('foo', 'one') 0...0.542903 6 -0.665189 Name: C, dtype: float64 ('foo', 'three...4 -1.093602 Name: C, dtype: float64 其实所有的聚合统计,都是在dataframe和series
报考专业代码 int64 报考专业 object 研究方向 object 培养模式 object 录取导师 object """ # print(student_teacher.dtypes...默认为mean # student_teacher.pivot_table(index="",values="",aggfunc=np.mean) # student_teacher.dropna(axis...就是pandas.core.series.Series # student_teacher["xx"] 可再次对它进行切片 # =================================...student_teacher.set_index("姓名",drop=True) # 修改索引,并返回 新的Frame print(new.loc['name']) # 此时查找行可通过姓名属性 # data.drop(["xxx"],axis...=1) 删除列 # data.query("x>1 & y<2") 条件查询
>>> import pandas as pd >>> nba = pd.read_csv("nba_all_elo.csv") >>> type(nba) #查看数据类型 <class 'pandas.core.frame.DataFrame...1/1949 max 4/9/1959 Name: date_game, dtype: object 二、pandas的数据结构 尽管DataFrame提供的功能看起来非常直观,但是基本概念却很难理解...(city_data["revenue"]) pandas.core.series.Series 在这里,我们使用索引运算符选择标记为的列"revenue",但如果列名是字符串,那么也可以使用带点符号的属性样式访问...因此,我们可以在以下各列上使用这些相同的功能: >>> points = nba["pts"] >>> type(points) ...为此,依旧是.dropna()再次使用并提供axis=1参数: >>> data_without_missing_columns = nba.dropna(axis=1) >>> data_without_missing_columns.shape
字段: [e6c9d24egy1h0veortappj20oc0ksta5.jpg] 方式1:创建TimeSeriesData对象 In 7: type(air) # 转换前 Out7: pandas.core.frame.DataFrame...In 10: print(type(air_ts.time)) print(type(air_ts.value)) 方式2:TimeSeriesData(time,value)创建 In 11: air_ts_from_series = TimeSeriesData...] 扩充extend(重点) 对两个不同的TimeSeries对象在axis=0方向上的扩充 In 26: k1 = air_ts[2:5] # 3行记录 k2 = air_ts[5:8] # 3行记录...对象 方式1 In 4: multi_ts = TimeSeriesData(df) In 5: type(multi_ts.time) Out5: pandas.core.series.Series
(df_obj['a'])) # 返回Series类型 df_obj['a'] # 返回对应列值 0 0.983790 1...0.161653 2 -1.256608 3 0.165782 4 1.313987 Name: a, dtype: float64 行索引 # 行索引 print(type(df_obj.loc...[0])) # 返回Series类型 df_obj.loc[0] # 返回对应行值 a 0.983790 b 1.063804...x : x.max(), axis=0) # # 按行比较(得到每列的最大值) 0 0.198618 1 0.344484 2 -0.893815 3 -0.498036 dtype...0.089607 0.091737 #按索引排序 df4.sort_index(axis=1) #列轴按序排列 1 2 3 4 1 0.948112 0.089607 0.091737 0.076323
领取专属 10元无门槛券
手把手带您无忧上云