|
目录一、用法精讲74、pandas.api.interchange.from_dataframe函数74-1、语法74-2、参数74-3、功能74-4、返回值74-5、说明74-6、用法74-6-1、数据准备74-6-2、代码示例74-6-3、结果输出75、pandas.Series类75-1、语法75-2、参数75-3、功能75-4、返回值75-5、说明75-6、用法75-6-1、数据准备75-6-2、代码示例75-6-3、结果输出 76、pandas.Series.index属性76-1、语法76-2、参数76-3、功能76-4、返回值76-5、说明76-6、用法76-6-1、数据准备76-6-2、代码示例76-6-3、结果输出77、pandas.Series.array方法77-1、语法77-2、参数77-3、功能77-4、返回值77-5、说明77-6、用法77-6-1、数据准备77-6-2、代码示例77-6-3、结果输出 78、pandas.Series.values属性78-1、语法78-2、参数78-3、功能78-4、返回值78-5、说明78-6、用法78-6-1、数据准备78-6-2、代码示例78-6-3、结果输出 二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页一、用法精讲74、pandas.api.interchange.from_dataframe函数74-1、语法#74、pandas.api.interchange.from_dataframe函数pandas.api.interchange.from_dataframe(df,allow_copy=True)Buildapd.DataFramefromanyDataFramesupportingtheinterchangeprotocol.Parameters:dfDataFrameXchgObjectsupportingtheinterchangeprotocol,i.e.__dataframe__method.allow_copybool,default:TrueWhethertoallowcopyingthememorytoperformtheconversion(iffalsethenzero-copyapproachisrequested).Returns:pd.DataFrame74-2、参数74-2-1、df(必须):一个类似于数据框的对象,表示要转换为PandasData的数据,该对象可以是任何实现了数据框接口的对象,如来自其他(例如Dask、Vaex等)的DataFrame。74-2-2、allow_copy(可选,默认值为True):指示在转换过程中是否允许复制数据。如果设置为True,则在需要的情况下,方法可以复制数据来保证数据的一致性和完整性;如果设置为False,方法会尝试避免复制数据,这样可以提高性能和减少内存使用,但可能会导致一些限制。74-3、功能 用于从其他数据框架接口中导入数据框架的PandasAPI方法,它将其他数据框架对象转换为PandasDataFrame。74-4、返回值 返回值是一个InterchangeDataFrame对象,该对象是一个通用的数据框架标准,用于在不同的数据处理库之间交换数据。74-5、说明 无74-6、用法74-6-1、数据准备无74-6-2、代码示例#74、pandas.api.interchange.from_dataframe函数importpandasaspdfrompandas.api.interchangeimportfrom_dataframe#创建一个示例DataFramedata={'Name':['Myelsa','Bryce','Jimmy'],'Age':[25,30,35],'City':['NewYork','LosAngeles','Chicago']}df=pd.DataFrame(data)#使用from_dataframe方法转换DataFrameinterchange_df=from_dataframe(df,allow_copy=True)#打印转换后的InterchangeDataFrame信息print(type(interchange_df))print(interchange_df)74-6-3、结果输出#74、pandas.api.interchange.from_dataframe函数##NameAgeCity#0Myelsa25NewYork#1Bryce30LosAngeles#2Jimmy35Chicago75、pandas.Series类75-1、语法#75、pandas.Series类pandas.Series(data=None,index=None,dtype:'Dtype|None'=None,name=None,copy:'bool|None'=None,fastpath:'bool|lib.NoDefault'=)->'None'One-dimensionalndarraywithaxislabels(includingtimeseries).Labelsneednotbeuniquebutmustbeahashabletype.Theobjectsupportsbothinteger-andlabel-basedindexingandprovidesahostofmethodsforperformingoperationsinvolvingtheindex.Statisticalmethodsfromndarrayhavebeenoverriddentoautomaticallyexcludemissingdata(currentlyrepresentedasNaN).OperationsbetweenSeries(+,-,/,\*,\*\*)alignvaluesbasedontheirassociatedindexvalues--theyneednotbethesamelength.Theresultindexwillbethesortedunionofthetwoindexes.Parameters----------data:array-like,Iterable,dict,orscalarvalueContainsdatastoredinSeries.Ifdataisadict,argumentorderismaintained.index:array-likeorIndex(1d)Valuesmustbehashableandhavethesamelengthas`data`.Non-uniqueindexvaluesareallowed.WilldefaulttoRangeIndex(0,1,2,...,n)ifnotprovided.Ifdataisdict-likeandindexisNone,thenthekeysinthedataareusedastheindex.IftheindexisnotNone,theresultingSeriesisreindexedwiththeindexvalues.dtype:str,numpy.dtype,orExtensionDtype,optionalDatatypefortheoutputSeries.Ifnotspecified,thiswillbeinferredfrom`data`.Seethe:ref:`userguide`formoreusages.name:Hashable,defaultNoneThenametogivetotheSeries.copy:bool,defaultFalseCopyinputdata.OnlyaffectsSeriesor1dndarrayinput.Seeexamples.Notes-----Pleasereferencethe:ref:`UserGuide`formoreinformation.75-2、参数75-2-1、data(可选,默认值为None):表示Series数据,可以是列表、NumPy数组、字典或标量值(如单个数值),如果是标量值,会将该值赋给Series的每一个元素。75-2-2、index(可选,默认值为None):表示索引标签,用于定义Series的索引,如果没有提供,默认会生成一个从0开始的整数索引,长度必须与data的长度相同。75-2-3、dtype(可选,默认值为None):表示数据类型。如果没有提供,Pandas会尝试自动推断data的数据类型。75-2-4、name(可选,默认值为None):表示Series的名称,可以为Series对象命名,方便在DataFrame中引用。75-2-5、copy(可选,默认值为None):如果设为True,则会复制data,通常在传递的是其他Pandas对象时使用,以确保数据不会被修改。75-2-6、fastpath(可选):内部使用参数,用于优化性能,通常用户不需要显式设置这个参数。75-3、功能 pandas.Series是Pandas库中最基本的数据结构之一,它类似于一维数组,可以存储任意类型的数据(整数、浮点数、字符串等),该构造函数允许我们从多种数据类型创建一个Series对象。75-4、返回值 创建一个pandas.Series对象时,返回值是一个pandasSeries对象,该对象具有以下特性:75-4-1、一维数据结构:Series是一维的,可以看作是一个带有标签的数组。75-4-2、索引:每个数据元素都有一个对应的标签(索引),可以通过索引来访问数据。75-4-3、数据类型:Series中的所有数据类型是一致的(如果在创建时未指定不同类型)。75-5、说明 无75-6、用法75-6-1、数据准备无75-6-2、代码示例#75、pandas.Series类#75-1、从列表创建Seriesimportpandasaspddata=[1,2,3,4,5]series1=pd.Series(data)print(series1,end='\n\n')#75-2、从字典创建Seriesimportpandasaspddata={'a':1,'b':2,'c':3}series2=pd.Series(data)print(series2,end='\n\n')#75-3、指定索引和数据类型importpandasaspddata=[1.5,2.5,3.5]index=['a','b','c']series3=pd.Series(data,index=index,dtype=float,name='ExampleSeries')print(series3,end='\n\n')#75-4、从标量值创建Seriesimportpandasaspdscalar_data=10series4=pd.Series(scalar_data,index=['a','b','c'])print(series4)75-6-3、结果输出 #75、pandas.Series类#75-1、从列表创建Series#01#12#23#34#45#dtype:int64#75-2、从字典创建Series#a1#b2#c3#dtype:int64#75-3、指定索引和数据类型#a1.5#b2.5#c3.5#Name:ExampleSeries,dtype:float64#75-4、从标量值创建Series#a10#b10#c10#dtype:int6476、pandas.Series.index属性76-1、语法#76、pandas.Series.index属性pandas.Series.indexTheindex(axislabels)oftheSeries.TheindexofaSeriesisusedtolabelandidentifyeachelementoftheunderlyingdata.Theindexcanbethoughtofasanimmutableorderedset(technicallyamulti-set,asitmaycontainduplicatelabels),andisusedtoindexandaligndatainpandas.Returns:IndexTheindexlabelsoftheSeries.76-2、参数 无76-3、功能 提供对Series中数据索引的访问。76-4、返回值 返回值是一个pandas.Index对象,它包含了Series中每个数据点的索引标签。76-5、说明 在Pandas中,Series是一个一维的、长度可变的、能够存储任何数据类型的数组(尽管在实践中,它通常用于存储相同类型的数据),并且每个元素都有一个与之关联的索引标签。76-6、用法76-6-1、数据准备无76-6-2、代码示例#76、pandas.Series.index属性importpandasaspd#创建一个带有自定义索引的Seriess=pd.Series([10,20,30,40],index=['a','b','c','d'])#访问Series的index属性index_obj=s.index#76-1、打印index_obj的类型print(type(index_obj),end='\n\n')#76-2、打印index_obj的内容print(index_obj,end='\n\n')#76-3、将索引转换为列表index_list=index_obj.tolist()print(index_list,end='\n\n')#76-4、获取索引的NumPy数组index_array=index_obj.valuesprint(index_array)76-6-3、结果输出#76、pandas.Series.index属性#76-1、打印index_obj的类型##76-2、打印index_obj的内容#Index(['a','b','c','d'],dtype='object')#76-3、将索引转换为列表#['a','b','c','d']#76-4、获取索引的NumPy数组#['a''b''c''d']77、pandas.Series.array方法77-1、语法#77、pandas.Series.array方法pandas.Series.arrayTheExtensionArrayofthedatabackingthisSeriesorIndex.Returns:ExtensionArrayAnExtensionArrayofthevaluesstoredwithin.Forextensiontypes,thisistheactualarray.ForNumPynativetypes,thisisathin(nocopy)wrapperaroundnumpy.ndarray..arraydiffersfrom.values,whichmayrequireconvertingthedatatoadifferentform.77-2、参数 无77-3、功能 获取存储在Series对象中的数据的底层数组表示。77-4、返回值 返回值取决于Series中数据的类型:77-4-1、对于NumPy原生类型的数据(如整数、浮点数、字符串等),.array方法将返回一个NumpyExtensionArray对象,这是一个对内部NumPyndarray的封装,但不进行数据的复制,这意味着返回的数组与Series中的数据共享相同的内存区域,除非进行显式的数据复制操作。77-4-2、对于扩展类型的数据(如分类数据、时间戳、时间间隔等),.array方法将返回实际的ExtensionArray对象,这些对象是为了支持Pandas中非NumPy原生类型的数据而设计的,这些扩展数组提供了与NumPy数组类似的接口,但具有额外的功能或属性,以适应特定类型的数据。77-5、说明 返回值的特点:77-5-1、类型依赖性:返回值的具体类型取决于Series中数据的类型。77-5-2、内存共享(对于NumPy原生类型):在大多数情况下,返回的数组与Series中的数据共享相同的内存区域,从而避免不必要的数据复制。77-5-3、灵活性:通过提供对底层数组的访问,.array方法允许用户进行更底层的操作或优化,尽管这通常不是Pandas推荐的常规用法。77-6、用法77-6-1、数据准备无77-6-2、代码示例#77、pandas.Series.array方法importpandasaspd#创建一个简单的Series(包含NumPy原生类型的数据)s_numpy=pd.Series([1,2,3,4])#使用.array方法获取底层数组arr_numpy=s_numpy.arrayprint(arr_numpy)print(type(arr_numpy))77-6-3、结果输出 #77、pandas.Series.array方法##[1,2,3,4]#Length:4,dtype:int64#78、pandas.Series.values属性78-1、语法#78、pandas.Series.values属性pandas.Series.valuesReturnSeriesasndarrayorndarray-likedependingonthedtype.WarningWerecommendusingSeries.arrayorSeries.to_numpy(),dependingonwhetheryouneedareferencetotheunderlyingdataoraNumPyarray.Returns:numpy.ndarrayorndarray-like78-2、参数 无78-3、功能 用于获取Series中数据的NumPy表示。78-4、返回值 返回一个NumPyndarray,其中包含了Series中的所有数据,但通常不包括索引信息。78-5、说明 使用.values属性是获取Series中数据的一种快速方式,尤其是当你需要将数据传递给需要NumPy数组作为输入的函数或库时,然而,需要注意的是,返回的NumPy数组可能与原始的Series数据共享内存(对于非对象数据类型),这意味着如果你修改了返回的数组,原始的Series数据也可能会被修改(尽管Pandas在许多情况下都会尝试避免这种情况)。78-6、用法78-6-1、数据准备无78-6-2、代码示例#78、pandas.Series.values属性importpandasaspd#创建一个简单的Seriess=pd.Series([1,2,3,4])#使用.values属性获取NumPy数组np_array=s.values#输出结果print(np_array)print(type(np_array))#修改NumPy数组(注意:这可能会影响原始的Series,但Pandas通常会避免这种情况)np_array[0]=10#检查Series是否被修改(对于非对象类型,通常不会)print(s)#如果你想要一个确保不会修改原始Series的副本,可以使用.copy()np_array_copy=s.values.copy()np_array_copy[0]=100print(s)78-6-3、结果输出 #78、pandas.Series.values属性#[1234]##010#12#23#34#dtype:int64#010#12#23#34#dtype:int64二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页
|
|