Pandas 中三个对列转换的小操作
创作时间:
作者:
@小白创作中心
Pandas 中三个对列转换的小操作
引用
1
来源
1.
https://cloud.tencent.com/developer/article/1988986
本文主要介绍三个对列转换的小操作:
- split:按分隔符将列分割成多个列
- astype:转换列为其它类型
- 将对应列上的字符转换为大写或小写
创建 DataFrame
首先,导入 Pandas 模块,通过传入字典的方式创建 DataFrame。
import pandas as pd
mydict = {
"dev_id": ["001", "002", "003", "004"],
"name": ["John Hunter", "Lothar Muller", "John Doe", "Elon Brown"],
"age": [21, 33, 12, 40],
"salary": [10000, 5000, 12000, 3000],
"country": ["Gramany", "Germany", "United States", "Scotland"]
}
df_dev = pd.DataFrame(mydict)
df_dev.set_index("dev_id", inplace = True)
df_dev
- 使用 df_dev 中已经存在的列来创建 df_dev 的索引;
- "dev_id" 为索引命名;
- inplace = True 为原地操作,也就是说此次修改不会创建新的对象。
split 按分隔符将列分割成多个列
现在我们想要将 name 列划分成两个列,其中一个列为 first_name,另外一个列为 last_name。比如:John Hunter,他的 first_name 为 John,last_name 为 Hunter。我们可以使用 split 函数来实现上述功能。
df_new = df_dev["name"].str.split(" ", n = 1, expand = True)
df_dev.insert(0, "first_name", df_new[0])
df_dev.insert(1, "last_name", df_new[1])
df_dev.drop(columns = ["name"], inplace = True)
df_dev
- split 函数是 Series 的操作,全名为 Series.str.split,它可以根据给定的分隔符对 Series 对象进行划分;
- " " 按照空格划分,我们可以传入字符串或者正则表达式,如果不指定则按照空格进行划分;
- n = 1 分割数量,如果指定为 None, 0 或 -1 则返回所有分割。比如对于 "I am KangChen.":
- n = -1,则会返回 I, am, KangChen.
- n = 1,则会返回 I, am KangChen.
- n = 2,则会但会 I, am, KangChen.
- expand = True 将分割的字符串转换为单独的列,指定 True 则返回 DataFrame/MultiIndex,如果指定 False 则返回 Series/Index。
astype 转换列为其它类型
我们可以使用 astype() 将 age 列转换为字符串类型,将 salary 列转换为浮点型。
df_dev['age'] = df_dev['age'].astype(str)
df_dev['salary'] = df_dev['salary'].astype(float)
df_dev
将对应列上的字符转换为大写或小写
df_dev['country'] = df_dev['country'].str.upper()
df_dev
df_dev['country'] = df_dev['country'].str.lower()
df_dev
热门推荐
北京房车租赁价格一览表
开展节前安全检查 全面筑牢安全防线
“青春益友爱情总局”:上海共青团打造的脱单神器
专家推荐:六种有效方法缓解脚部肿胀
未激活手机卡查询全攻略:号码归属地信息一文搞定
治理逻辑下的中国式“城市”与“城乡融合”
苹果手机微信存储空间不足?这样清理最有效
【案例警示】瞬间起火,姐弟3人全身多处烧伤!小心这种玩具→
中老年旅游人次超11亿,专家详解如何选购旅游保险
耳屎变黄,当心外耳道炎!
金祥名字的运势解析:传统文化与现代视角的对话
生酮饮食抗癌?专家:尚处研究阶段,不能替代正规治疗
胶质瘤治疗:在生存率与生活质量之间寻找平衡
北京同仁医院亦庄院区眼科:新技术引领精准诊疗新突破
北京同仁医院亦庄分院全方位交通指南
特发性水肿食疗指南:五种方法助你改善症状
12种高钾蔬菜+13种水果,轻松消除身体水肿
血糖警报:这些不为人知的误区正在摧毁你的健康!
不同阶段的孩子应该做哪些情感行为训练?
孩子打人、抢玩具、说谎?专家解析1-12岁问题行为应对法
想把孩子教育得更好,这4个定律你一定要知道
夜刀神十香:大胃王的萌点解析
北京亦庄发布六大未来产业示范区规划,打造科技创新新高地
亦庄一日游:必打卡四大网红景点
告别“久坐族”:办公室里的高效瘦身秘籍
脂溢性角化病:如何区分良性老年斑与病毒性皮肤病
有氧锻炼后反而不打呼噜
“打呼噜”是睡得香?其实隐藏着致命危险
脚部6大异常表现,可能是身体问题的预警信号
骨髓增生低下治疗指南:5种有效方案详解