Pandas列操作技巧

发布时间:2025-01-14 12:36

平台跳跃动作游戏,如《超级马里奥》系列,考验玩家的观察力和操作技巧 #生活乐趣# #游戏乐趣# #动作游戏#

数据清洗常用的2个小技巧

最新推荐文章于 2024-09-28 04:10:04 发布

Jmayday 于 2020-04-20 09:14:11 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

Pandas 巧用 str.split 和 str.cat

因为以上两个方法,直接按列操作,所以省掉一层 for 循环,下面直接看例子。

df = pd.DataFrame({'names':["Geordi La Forge", "Deanna Troi", "Jack"],'IDs':[1,2,3]})

df

列分割

对 names 列,按照第一个空格分割为两列:

df["first_name"] = df["names"].str.split(n = 1).str[0]

df["last_name"] = df["names"].str.split(n = 1).str[1]

df

结果如下:

列合并方法 1

分割列搞定,接下来再合并回去,使用 cat 方法:

df["names_copy"] = df["first_name"].str.cat(df["last_name"], sep = " ")

df

合并两列得到一个新列 names_copy 搞定!

列合并方法 2

还有别的合并方法吗,直接使用 + 连接字符串:

df["names_copy2"] = df["first_name"] + " "+ df["last_name"]

df

效果是一样的:

Pandas 多条件筛选可读性较好的写法

有特征上百个,根据多个特征筛选 DataFrame 时,如果这么做,可读性不太友好:

df[(df["continent"] == "Europe") & (df["beer_servings"] > 150) & (df["wine_servings"] > 50) & (df["spirit_servings"] < 60)]

连续多个筛选条件写到一行里。

更好可读性的写法

cr1 = df["continent"] == "Europe"

cr2 = df["beer_servings"] > 150

cr3 = df["wine_servings"] > 50

cr4 = df["spirit_servings"] < 60

df[cr1 & cr2 & cr3 & cr4]

个人更喜欢后者,虽然代码多几行,但是可读性更好一些,拆开多个过滤条件并分别赋值给对象,最后再传到 df 中,代码看起来更清爽。

网址:Pandas列操作技巧 https://www.yuejiaxmz.com/news/view/712917

相关内容

Pandas的时间序列Period,period
Numpy和Pandas中axis的理解
NumPy和Pandas总结
利用Python进行数据分析——Pandas(2)
WPS表格高效操作:快速删除多余行和列的技巧
电脑操作系统维护技巧
Pandas的数据清洗
掌握这17个Python自动化操作,简化日常工作流程!
Python数据分析——Pandas数据预处理
电脑小技巧有哪些(电脑常用的5个操作小技巧)

随便看看