结果索引的名称是 "key1",因为 DataFrame 列 df["key1"] 是这样的。...更具体地,考虑前一节中的示例 DataFrame,其中人们的名字作为索引值。假设您想按名称长度分组。...您不需要接受 GroupBy 为列提供的名称;特别是,lambda函数的名称为"",这使得它们难以识别(您可以通过查看函数的__name__属性来自行查看)。...-18) %D %m/%d/%y的快捷方式(例如,04/18/12) 您可以使用许多相同的格式代码使用datetime.strptime将字符串转换为日期(但是一些代码,如%F,不能使用): In [...: int64 将时间戳转换为期间(以及相反) 通过 to_period 方法,以时间戳索引的 Series 和 DataFrame 对象可以转换为期间: In [188]: dates = pd.date_range
Series:基本数据结构,一维标签数组,能够保存任何数据类型 DataFrame:基本数据结构,一般为二维数组,是一组有序的列 Index:索引对象,负责管理轴标签和其他元数据(比如轴名称) groupby...g 5 h 7 dtype: int64 一般使用drop方法删除Series元素,它接收被删除元素对应的索引,inplace=True表示对原Series起作用,如代码清单6-10所示。...: 删除索引e对应数据后的series为: a 3 b 1 c 2 d 3 Name: list, dtype: int64 02 DataFrame DataFrame是pandas...表示删除的行或列的标签。无默认值 axis:接收0或1。表示执行操作的轴向,其中0表示删除行,1表示删除列。默认为0 levels:接收int或者索引名。表示索引级别。...创建Series或DataFrame等对象时,索引都会被转换为Index对象。主要Index对象及其说明如下所示。
/df.columns分别代表行名称与列名称: df.index #行名 df.columns #列名 其中index也是索引,而且不是那么好修改的。...B组计数 Out[210]: A bar 3 foo 5 Name: C, dtype: int64 2、Apply 函数 在向数据框的每一行或每一列传递指定函数后,Apply 函数会返回相应的值...如果自定义了索引,自定的索引会自动寻找原来的索引,如果一样的,就取原来索引对应的值,这个可以简称为“自动对齐”。...其中注意: series没有转置的情况 series没有转置的情况,我在尝试Series之间的横向合并的时候,只能纵向拼接。所以,需要转化成dataframe格式才能进行纵向拼接。...那么如何在pandas进行索引操作呢?索引的增加、删除。 创建的时候,你可以指定索引。
多级索引中的级别名称,默认名称为 level_0、level_1,如果未提供。 有效的比较运算符有: =, ==, !...您可能会无意中将实际的nan值转换为缺失值。...你还可以指定列的名称作为DataFrame索引,并指定要读取的列的子集。...index_colint、str、int/str 序列或 False,可选,默认为`None` 用作`DataFrame`行标签的列,可以是字符串名称或列索引。...### 索引列和尾随分隔符 如果文件的数据列数比列名多一个,第一列将被用作DataFrame的行名: In [92]: data = "a,b,c\n4,apple,bat,5.7\n8,orange,
### 按索引和值排序 作为 by 参数传递给 DataFrame.sort_values() 的字符串可以指代列或索引级别名称。...通过索引和数值 作为 DataFrame.sort_values() 的 by 参数传递的字符串可以是列名,也可以是索引级别名称。...dtype: object 通过将字典传递给astype(),将某些列转换为特定的 dtype。...: object 由于数据被转置,原始推断将所有列存储为对象,infer_objects将进行更正。...: object 由于数据被转置,原始推断将所有列存储为对象,infer_objects���进行更正。
代码是最简模式,里面有很多可选参数设置,例如列名称,索引列,数据格式等等。感兴趣的朋友可以参考 pandas 的 官方文档。 ...1#查看数据表各列格式 2df.dtypes 3 4id int64 5date datetime64[ns] 6city object 7category object 8age int64... 9price float64 10dtype: object 11 12#查看单列格式 13df['B'].dtype 14 15dtype('int64') 查看空值 Excel...下面的代码中将 price 字段的值修改为 int 格式。 ...1#对 category 字段的值依次进行分列,并创建数据表,索引值为 df_inner 的索引列,列名称为 category 和 size 2pd.DataFrame((x.split('-') for
index_colint,str,int/str 序列或 False,可选,默认为None 用作DataFrame行标签的列,可以作为字符串名称或列索引给出。...: int64 这将将所有有效解析转换为浮点数,将无效解析保留为NaN。...### 索引列和尾随分隔符 如果文件的数据列比列名多一个,第一列将被用作DataFrame的行名: In [92]: data = "a,b,c\n4,apple,bat,5.7\n8,orange,cow...写入 JSON 可以将 Series 或 DataFrame 转��为有效的 JSON 字符串。使用 to_json 和可选参数: path_or_buf : 要写入输出的路径名或缓冲区。...如果您已正确注册了 ExtensionDtype,那么extDtype键将携带扩展名的名称,pandas 将使用该名称进行查找并将序列化的数据重新转换为您的自定义 dtype。
[1,2,3,4],'two':[4,3,2,1]}) # 产生的DataFrame会自动为Series分配所索引,并且列会按照排序的顺序排列 运行结果: one two 0 1 4 1...columns 获取列索引 T 转置 values 获取值索引 describe 获取快速统计 one two a 1 2 b 2 1 c 3 3 # 这样一个数组df...DataFrame有行索引和列索引。...loc属性:解释为标签 iloc属性:解释为下标 向DataFrame对象中写入值时只使用方法2 行/列索引部分可以是常规索引、切片、布尔值索引、花式索引任意搭配。...这些索引的名称就为key1。
dtype: float64 层次索引在重塑数据和基于组的操作(如形成数据透视表)中发挥着重要作用。...“宽”格式 在数据库和 CSV 文件中存储多个时间序列的常见方法有时被称为长或堆叠格式。...在某些情况下,以这种格式处理数据可能更加困难;您可能更喜欢拥有一个 DataFrame,其中包含一个以date列中的时间戳为索引的每个不同item值的列。...与在新的 DataFrame 中将一个列转换为多个不同,它将多个列合并为一个,生成一个比输入更长的 DataFrame。...图形格式从文件扩展名中推断(例如,.pdf表示 PDF,.png表示 PNG)。
: int64 DataFrame DataFrame 表示数据的矩形表,并包含一个有序的、命名的列集合,每个列可以是不同的值类型(数值、字符串、布尔值等)。..."Nevada": {2001: 2.4, 2002: 2.9}} 如果将嵌套字典传递给 DataFrame,pandas 将解释外部字典键为列,内部键为行索引: In [73]: frame3 = pd.DataFrame...2.4 2.9 警告: 请注意,如果列的数据类型不全都相同,则转置会丢弃列数据类型,因此转置然后再次转置可能会丢失先前的类型信息。...=object) 索引对象 pandas 的 Index 对象负责保存轴标签(包括 DataFrame 的列名)和其他元数据(如轴名称)。...: int64 选择单行的结果是一个带有包含 DataFrame 列标签的索引的 Series。
('name.csv',header=1)) df=pd.DataFrame(pd.read_Excel('name.xlsx'))c 里面有很多可选参数设置,例如列名称、索引列、数据格式等 直接写入数据...Dtypes是一个查看数据格式的函数,可以一次性查看数据表中所 有数据的格式,也可以指定一列来单独查看 #查看数据表各列格式 df.dtypes id int64 date datetime64[ns]...city object category object age int64 price float64 dtype: object #查看单列格式 df['B'].dtype dtype('int64...#对category字段的值依次进行分列,并创建数据表,索引值为df_inner的索引列,列名称为category和size pd.DataFrame((x.split('-') for x in df_inner...#按索引提取区域行数值 df_inner.loc[0:5] ? Reset_index函数用于恢复索引,这里我们重新将date字段的日期 设置为数据表的索引,并按日期进行数据提取。
此方法接受另一个 DataFrame 和一个组合器函数,对齐输入 DataFrame,然后将组合器函数传递给一对 Series(即,列名称相同的列)。...transform()允许输入函数为:NumPy 函数、字符串函数名称或用户定义的函数。...### 通过索引和值 传递给DataFrame.sort_values()的by参数可能是列名或索引级别名称。...: object 由于数据被转置,原始推断将所有列存储为对象,infer_objects将进行更正。...[ns] -dtype numpy.ndarray,其中值已转换为 UTC 并且时区已丢弃 时区可能会被保留为dtype=object In [14]: ser = pd.Series(pd.date_range
RangeIndex(start=0, stop=3, step=1) In [8]: df.columns=['id','nickname','register'] # 为列索引重新赋值 In [...1object 2dtype: int64 In [15]: df.select_dtypes(include=['int']) # 根据列类型(如为int,或者object)筛选数据...datetime.date(2019, 4, 15)]], dtype=object) In [17]: df.get_values() # 稀疏值转稠密后,返回NumPy数据对象Out[17]:...24register 24gender 12dtype: int64 判断数据框是否为空 In [35]: df.emptyOut[35]: False In [41]: dfemp...NoneName: p3, dtype: object In [77]: df.iloc[:,3] # 访问列整数索引为3的列Out[77]: p1 Malep2
ndarray 中的常用方法和属性,如通过 .shape 获取数据的形状,通过 .T 获取数据的转置。...: int64 如果想要获取某列最大值或最小值对应的索引,可以使用 idxmax 或 idxmin 方法完成。...Pandas 支持两种排序方式:按轴(索引或列)排序和按实际值排序。 先来看下按索引排序:sort_index 方法默认是按照索引进行正序排的。...int64 函数应用 虽说 Pandas 为我们提供了非常丰富的函数,有时候我们可能需要自己定制一些函数,并将它应用到 DataFrame 或 Series。...索引名称 在使用 DataFrame 的过程中,经常会遇到修改列名,索引名等情况。
agg(("min", "max")) min 1/1/1949 max 4/9/1959 Name: date_game, dtype: object 二、pandas的数据结构 尽管DataFrame...新DataFrame索引是两个Series索引的并集: >>> city_data.index Index(['Amsterdam', 'Tokyo', 'Toronto'], dtype='object...: int64 七、对列进行操作 接下来要说的是如何在数据分析过程的不同阶段中操作数据集的列。...如果我们为列选择正确的数据类型,则可以显着提高代码的性能。我们再看一下nba数据集的列: >>> df.info() ? 有十列具有数据类型object。...如可视化尼克斯整个赛季得分了多少分: ? 还可以创建其他类型的图,如条形图: ? 而关于使用matplotlib进行数据可视化的相关操作中,还有许多细节性的配置项,比如颜色、线条、图例等。
我们将这些别名称为*偏移别名*。...我们将这些别名称为周期别名。...我们将这些别名称为偏移别名。...如果这些对于给定频率不是有效的时间戳,它将滚动到start_date的下一个值(分别是end_date的前一个值) 周期别名 一些常见时间序列频率的字符串别名被赋予了。我们将这些别名称为周期别名。...kind可以设置为‘timestamp’或‘period’,以将生成的索引转换为时间戳和时间跨度表示。默认情况下,resample保留输入表示。
= pd.Series(d) df a 1 b 2 c 3 d 4 e 5 dtype: int64 4.从 NumPy 数组创建 DataFrame dates = pd.date_range...,分隔符为;,编码格式为gbk # df = pd.read_csv('test.csv', encoding='gbk, sep=';') 6.从字典对象data创建DataFrame,设置索引为labels...: int64 27.给定DataFrame,有列A, B,A的值在1-100(含),对A列每10步长,求对应的B的和 df = pd.DataFrame({'A': [1,2,11,11,33,34,35,40,79,99...: int64 28.给定DataFrame,计算每个元素至左边最近的0(或者至开头)的距离,生成新列y df = pd.DataFrame({'X': [7, 2, 0, 3, 4, 2, 5, 0,...: float64 Series 和 Datetime索引 32.创建Series s,将2015所有工作日作为随机值的索引 dti = pd.date_range(start='2015-01-01'
: datetime64[ns, US/Eastern] 还可以用 Series.dt.strftime() 把 datetime 的值当成字符串进行格式化,支持与标准的 strftime() 同样的格式...排序 Pandas 支持三种排序方式,按索引标签排序,按列里的值排序,按两种方式混合排序。...DataFrame.sort_values() 的可选参数 by 用于指定按哪列排序,该参数的值可以是一列或多列数据。...通过参数 by 传递给 DataFrame.sort_values() 的字符串可以引用列或索引层名。...比如说,以下几种方式可以就地(inplace) 改变 DataFrame: 插入、删除、修改列 为 index 或 columns 属性赋值 对于同质数据,用 values 属性或高级索引即可直接修改值
ndarray 中的常用方法和属性,如通过 .shape 获取数据的形状,通过 .T 获取数据的转置。...user_info.sex.value_counts() male 3 female 1 Name: sex, dtype: int64 如果想要获取某列最大值或最小值对应的索引,可以使用...user_info.age.nlargest(2) name James 40 Bob 30 Name: age, dtype: int64 函数应用 虽说 Pandas 为我们提供了非常丰富的函数...索引名称 在使用 DataFrame 的过程中,经常会遇到修改列名,索引名等情况。...默认情况下,errors='raise',这意味着强转失败后直接抛出异常,设置 errors='coerce' 可以在强转失败时将有问题的元素赋值为 pd.NaT(对于datetime和timedelta
领取专属 10元无门槛券
手把手带您无忧上云