gpt4 book ai didi

Python:pandas DF 中的高效拆分列

转载 作者:太空宇宙 更新时间:2023-11-03 14:18:49 25 4
gpt4 key购买 nike

假设我有一个包含表单列的 DF

0     A.1
1 A.2
2 B.3
3 4.C

假设我想用“.”拆分这些列仅使用“.”之后的元素。一个天真的方法是

for i in range(len(tbl)):
tbl['column_name'].iloc[i] = tbl['column_name'].iloc[i].split('.',1)[1]

这行得通。而且对于大表来说非常慢。有没有人知道如何加快这个过程?我可以在 DF 中使用新列,因此我不限于更改源列(因为我在示例中重用了它)。谢谢!

最佳答案

pandas 具有字符串方法,可以在没有循环的情况下高效地执行此类操作(这会杀死 性能)。在这种情况下,您可以使用 .str.split :

>> import pandas as pd
>> df = pd.DataFrame({'a': ['A.1', 'A.2', 'B.3', 'C.4']})
>> df
a
0 A.1
1 A.2
2 B.3
3 C.4
>> df.a.str.split('.').apply(pd.Series)
0 1
0 A 1
1 A 2
2 B 3
3 C 4

关于Python:pandas DF 中的高效拆分列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30637708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com