首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

整理了 25 个 Pandas 实用技巧,拿走不谢!

更改列名最灵活方式是使用rename()函数。你可以传递一个字典,其中keys为原列名,values为列名,还可以指定axis: ?...我们以生成器表达式用read_csv()函数来读取每个文件,并将结果传递给concat()函数,这会将单个DataFrame来组合: ? 不幸是,索引存在重复。...我们可以使用sample()函数来随机选取75%并将它们赋值给"movies_1"DataFrame: ?...我们将会使用str.split()函数,告诉它以空格进行分隔,并将结果扩展成一个DataFrame: ? 这三实际可以通过一代码保存至原来DataFrame: ?...注意到,Age留到小数点后1位,Fare留到小数点后4位。如果你想要标准化,将显示结果保留到小数点后2位呢? 你可以使用set_option()函数: ?

3.2K10

【Python】这25个Pandas高频实用技巧,不得不服!

在这种情况下,你可以使用NumPy random.rand()函数,定义好该函数行数和数,并将其传递给DataFrame构造器: pd.DataFrame(np.random.rand(4, 8)...3更改列名 我们来看一下刚才我们创建示例DataFrame: df 我更喜欢在选取pandas时候使用点(.),但是这对那么列名中含有空格不会生效。让我们来修复这个问题。...我们以生成器表达式用read_csv()函数来读取每个文件,并将结果传递给concat()函数,这会将单个DataFrame来组合: pd.concat((pd.read_csv(file) for...我们将会使用str.split()函数,告诉它以空格进行分隔,并将结果扩展成一个DataFrame: df.name.str.split(' ', expand=True) 这三实际可以通过一代码保存至原来...更改显示选项 我们再来看一眼Titanic 数据集: titanic.head() 注意到,Age留到小数点后1位,Fare留到小数点后4位。

6.5K50
您找到你想要的搜索结果了吗?
是的
没有找到

30 个小例子帮你快速掌握Pandas

选择特定 3.读取DataFrame一部分行 read_csv函数允许按读取DataFrame一部分。有两种选择。第一个是读取前n。...我们可以使用特定,聚合函数(例如均值)或上一个或下一。 对于Geography,我将使用最常见。 ?...考虑一步(df_new)中DataFrame。我们希望将小于6客户Balance设置为0。...低基数意味着与行数相比,一具有很少唯一。例如,Geography具有3个唯一和10000。 我们可以通过将其数据类型更改为category来节省内存。...Geography内存消耗减少了近8倍。 24.替换 替换函数可用于替换DataFrame。 ? 第一个参数是要替换,第二个参数是。 我们可以使用字典进行多次替换。 ?

10.7K10

通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

Series 序列是表示 DataFrame 数据结构。使用序列类似于引用电子表格。 4. Index 每个 DataFrame 和 Series 都有一个索引,它们是数据标签。...在 Pandas 中,索引可以设置为一个(或多个)唯一,这就像在工作表中有一用作标识符一样。与大多数电子表格不同,这些索引实际可用于引用。...pandas 通过在 DataFrame 中指定单个系列来提供矢量化操作。可以以相同方式分配DataFrame.drop() 方法从 DataFrame 中删除一。...tips[tips["total_bill"] > 10] 结果如下: 上面的语句只是将一系列 True/False 对象传递给 DataFrame,返回所有带有 True 。...选择 在Excel电子表格中,您可以通过以下方式选择所需: 隐藏; 删除; 引用从一个工作表到另一个工作表范围; 由于Excel电子表格通常在标题中命名,因此重命名列只需更改第一个单元格中文本即可

19.5K20

如何在 Pandas DataFrame中重命名列?

DataFrame最常见操作之一是重命名(rename)列名称。 分析人员重命名列名称动机之一是确保这些列名称是有效Python属性名称。...movies = pd.read_csv("data/movie.csv") 2)DataFrame重命名方法接收将旧映射到字典。 可以为这些创建一个字典,如下所示。...movies.rename(columns=col_map).head() 原理 DataFrame.rename方法允许重命名列标签。可以通过给属性赋值来重命名列。...扩展 在此处,更改了列名称。还可以使用.rename方法重命名索引,如果是字符串,则更有意义。 因此,我们可以将索引设置为movie_title(电影片名),然后将这些映射为。...使用清除列表,可以将结果重新赋值给.columns属性。假设中有空格和大写字母,此代码将清除它们。

5.5K20

直观地解释和可视化每个复杂DataFrame操作

每种方法都将包括说明,可视化,代码以及记住它技巧。 Pivot 透视表将创建一个“透视表”,该透视表将数据中现有投影为元素,包括索引,。...考虑一个二维矩阵,其一维为“ B ”和“ C ”(列名),另一维为“ a”,“ b ”和“ c ”(索引)。 我们选择一个ID,一个维度和一个包含/。...为了访问狗身高,只需两次调用基于索引检索,例如 df.loc ['dog']。loc ['height']。 要记住:从外观看,堆栈采用表二维性并将堆栈为多级索引。...Unstack 取消堆叠将获取多索引DataFrame并对其进行堆叠,将指定级别的索引转换为具有相应DataFrame。在表上调用堆栈后再调用堆栈不会更改该堆栈(原因是存在“ 0 ”)。...串联是将附加元素附加到现有主体,而不是添加信息(就像逐联接一样)。由于每个索引/行都是一个单独项目,因此串联将其他项目添加到DataFrame中,这可以看作是列表。

13.3K20

python:Pandas里千万不能做5件事

下面列举最慢到最快常见选择。比如: 测试数据集运行是 20000 DataFrame ? (for循环慢是显而易见,看看.apply() 。...例如,如果你有一全是文本数据,Pandas 会读取每一个,看到它们都是字符串,并将数据类型设置为 "string"。然后它对你所有其他重复这个过程。...你可以使用 df.info() 来查看一个 DataFrame 使用了多少内存,这和 Pandas 仅仅为了弄清每一数据类型而消耗内存大致相同。...在一中把多个 DataFrame 修改链在一起(只要不使你代码不可读):df = df.apply(something).dropna() 正如国外大牛 Roberto Bruno Martins...你可以在这些 DataFrame 绘图对象做任何你可以对其他 Matplotlib 绘图对象做事情。

1.5K20

Pandas 学习手册中文第二版:1~5

原地修改序列 Series就地修改是一个有争议的话题。 如果可能,最好执行返回带有Series中表示修改Series操作。 但是,如果需要,可以更改并就地添加/删除。...然后,pandas 将Series与副本DataFrame对齐,并将其添加为名为RoundedPrice将添加到索引末尾。 .insert()方法可用于在特定位置添加。...下面通过向名为PERsp500子集添加并将所有初始化为0来演示这一点。...这些尚未从sp500数据中删除,对这三更改更改sp500中数据。 防止这种情况正确措施是制作切片副本,这会导致复制指定数据数据帧。...对象执行几种常见数据操作,特别是通过添加或删除更改DataFrame结构操作。

8.1K10

最全面的Pandas教程!没有之一!

从现有的创建: ? 从 DataFrame 里删除/ 想要删除某一或一,可以用 .drop() 函数。...此外,你还可以制定多行和/或多,如上所示。 条件筛选 用中括号 [] 方式,除了直接指定选中某些外,还能接收一个条件语句,然后筛选出符合条件/。...你可以用逻辑运算符 &(与)和 |(或)来链接多个条件语句,以便一次应用多个筛选条件到当前 DataFrame 。举个栗子,你可以用下面的方法筛选出同时满足 'W'>0 和'X'>1 : ?...然后再用一次 .loc[],获取下一层 21 里数据: ? 如上所示,df 这个 DataFrame 头两个索引没有名字,看起来不太易懂。...这返回是一个 DataFrame,里面用布尔(True/False)表示原 DataFrame 中对应位置数据是否是空

25.8K64

Python科学计算之Pandas

如果你读过这一系列中Numpy那一篇帖子,你可能会记得一项技术叫做‘boolean masking’,即我们可以在数组运行一个条件语句来获得对应布尔数组。...这一语句返回1990年代所有条目。 ? 索引 前几部分为我们展示了如何通过操作来获得数据。实际,Pandas同样有标签化操作。这些标签可以是数字或是其他标签。...在返回series中,这一每一都是一个独立元素。 可能在你数据集里有年份,或者年代,并且你希望可以用这些年份或年代来索引某些。这样,我们可以设置一个(或多个)索引。 ?...这将会给’water_year’一个索引。注意到列名虽然只有一个元素,却实际需要包含于一个列表中。如果你想要多个索引,你可以简单地在列表中增加另一个列名。 ?...这次我们对’rain_octsep’索引第1操作: ? ? 现在,在我们下一个操作前,我们首先创造一个dataframe。 ?

2.9K00

Pandas Sort:你 Python 数据排序指南

Pandas 排序方法入门 快速提醒一下,DataFrame是一种数据结构,都带有标记轴。您可以按以及索引对 DataFrame 进行排序。...与 using 不同之处.sort_values()在于您是根据其索引或列名称对 DataFrame 进行排序,而不是根据这些DataFrame 索引在上图中以蓝色标出。...尽管您没有为传递给 参数指定名称,但.sort_values()您实际使用了by参数,您将在下一个示例中看到该参数。 更改排序顺序 另一个参数.sort_values()是ascending。...您可以看到更改顺序也会更改排序顺序。 按降序按多排序 到目前为止,您仅对多按升序排序。在下一个示例中,您将根据make和model按降序排序。...对 DataFrame 进行排序 您还可以使用 DataFrame 标签对进行排序。使用设置为.sort_index()可选参数将按标签对 DataFrame 进行排序。

14K00

python对100G以上数据进行排序,都有什么好方法呢

Pandas 排序方法入门 快速提醒一下,DataFrame是一种数据结构,都带有标记轴。您可以按以及索引对 DataFrame 进行排序。...与 using 不同之处.sort_values()在于您是根据其索引或列名称对 DataFrame 进行排序,而不是根据这些DataFrame 索引在上图中以蓝色标出。...尽管您没有为传递给 参数指定名称,但.sort_values()您实际使用了by参数,您将在下一个示例中看到该参数。 更改排序顺序 另一个参数.sort_values()是ascending。...您可以看到更改顺序也会更改排序顺序。 按降序按多排序 到目前为止,您仅对多按升序排序。在下一个示例中,您将根据make和model按降序排序。...对 DataFrame 进行排序 您还可以使用 DataFrame 标签对进行排序。使用设置为.sort_index()可选参数将按标签对 DataFrame 进行排序。

10K30

如何用 Python 执行常见 Excel 和 SQL 任务

每个括号内列表都代表了我们 dataframe,每都以 key 表示:我们正在处理一个国家排名,人均 GDP(以美元表示)及其名称(用「国家」)。...如果要查看特定数量,还可以在 head() 方法中插入行数。 ? ? 我们得到输出是人均 GDP 数据集前五(head 方法默认),我们可以看到它们整齐地排列成三以及索引。...请注意,Python 索引从0开始,而不是1,这样,如果要调用 dataframe第一个,则使用0而不是1!你可以通过在圆括号内添加你选择数字来更改显示行数。试试看!...我们为一个 dataframe 分配一个布尔索引过滤器,这个方法基本就是说「创建一个人均 GDP 超过 50000 dataframe」。现在我们可以显示gdp50000。 ?...有12个国家 GDP 超过 50000! 选择属于以 s 开头国家。 现在可以显示一个 dataframe,其中只包含以 s 开头国家。

10.7K60

合并PandasDataFrame方法汇总

当how参数默认设置为inner时,将从左DataFrame和右DataFrame交集生成一个DataFrame。...set_index('user_id')) print(df_join_no_duplicates) 这样做可以让我们摆脱user_id并将其设置为索引,从而产生了一个更清晰DataFrame...这种追加操作,比较适合于将一个DataFrame每行合并到另外一个DataFrame尾部,即得到一个DataFrame,它包含2个DataFrames所有的,而不是在它们列上匹配数据。...相同类型创建一个DataFrame,但这个DataFrame包含id006和id007image_url: df2_addition = pd.DataFrame({'user_id': [...print(df_first) 请记住,与combine_first()不同,update()不会返回DataFrame,它原地修改df_first,更改相应: COL 1 COL 2 COL

5.7K10

高效10个Pandas函数,你都用过吗?

Insert Insert用于在DataFrame指定位置中插入数据。默认情况下是添加到末尾,但可以更改位置参数,将添加到任何位置。...,则 loc=0 column: 给插入取名,如 column='' value:,数字、array、series等都可以 allow_duplicates: 是否允许列名重复,选择...Ture表示允许列名与已存在列名重复 接着用前面的df: 在第三位置插入: # new_col = np.random.randn(10) #在第三位置插入,从0开始计算...用法: DataFrame.loc[] 或者 DataFrame.iloc[] loc:按标签(column和index)选择 iloc:按索引位置选择 选择df第1~3、第1~2数据...两人并列第1名,下一个人是第 2 名 method=first: 相同会按照其在序列中相对位置定 ascending:正序和倒序 对df中value_1进行排名: df['rank_1'] =

4.1K20

用Python执行SQL、Excel常见任务?10个方法全搞定!

每个括号内列表都代表了我们 dataframe,每都以 key 表示:我们正在处理一个国家排名,人均 GDP(以美元表示)及其名称(用「国家」)。...如果要查看特定数量,还可以在 head() 方法中插入行数。 ? ? 我们得到输出是人均 GDP 数据集前五(head 方法默认),我们可以看到它们整齐地排列成三以及索引。...请注意,Python 索引从0开始,而不是1,这样,如果要调用 dataframe第一个,则使用0而不是1!你可以通过在圆括号内添加你选择数字来更改显示行数。试试看!...我们为一个 dataframe 分配一个布尔索引过滤器,这个方法基本就是说「创建一个人均 GDP 超过 50000 dataframe」。现在我们可以显示gdp50000。 ?...有12个国家 GDP 超过 50000! 选择属于以 s 开头国家。 现在可以显示一个 dataframe,其中只包含以 s 开头国家。

8.2K20

Pandas 25 式

操控缺失 把字符串分割为多 把 Series 里列表转换为 DataFrame 用多个函数聚合 用一个 DataFrame 合并聚合输出结果 选择 重塑多重索引 Series 创建透视表...rename()方法改列名是最灵活方式,它参数是字典,字典 Key 是原列名,列名,还可以指定轴向(axis)。 ? 这种方式优点是可以重命名任意数量,一、多、所有都可以。...一代码就可以解决这个问题,现在所有都转成 float 了。 ? 8....通过赋值语句,把这两添加到原 DataFrame。 ? 如果想分割字符串,但只想保留分割结果,该怎么操作? ? 要是只想保留城市,可以选择只把城市加到 DataFrame 里。 ?...要把第二转为 DataFrame,在第二使用 apply() 方法,并把结果传递给 Series 构建器。 ?

8.4K00
领券