python - 拆分列并使用 pandas 命名它们

标签 python pandas

我想根据定界符 ":" 将一列拆分为 3,我能够做到 使用下面的代码。但是现在想改拆分名 列的默认值为 1、2、3、4。请建议我该怎么做。

from pandas import *
df = DataFrame(
     {'CustomerName' : ["Paul", "John"], 'Seatblocks' : ["2:218:10:4,6","2:218:10:4,6"]}); 
df

df.join(df.Seatblocks.apply(lambda x: Series(x.split(':'))))

最佳答案

人们已经给出了 rename 方法,但我发现如果您避免将所有内容都塞进一行的诱惑,这些事情会更容易。一旦你有了一个框架,你可以简单地分配给 .columns:

>>> sb = df.Seatblocks.str.split(":").apply(pd.Series)
>>> sb.columns = ["a", "Three Digit", "??", "coord"]
>>> pd.concat([df, sb], axis=1)
  CustomerName    Seatblocks  a Three Digit  ?? coord
0         Paul  2:218:10:4,6  2         218  10   4,6
1         John  2:218:10:4,6  2         218  10   4,6

第一行只是 (df.Seatblocks.apply(lambda x: Series(x.split(':')))) 的一个版本,它利用了向量化字符串操作访问器 .str ( docs )。

关于python - 拆分列并使用 pandas 命名它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28256025/

相关文章:

python - Bokeh - 从 BoxZoomTool/ResetTool 触发 on_change 回调

c++ - 使用 ctypes 向 C/C++ 库提供函数的外部定义

python - 标准 midi 文件使用哪种编码?

python反向引用正则表达式

python - pandas:使用 > 1 ndim 分类构造数据框

pandas - 在 pandas 数据帧列上使用数学包(例如 math.radians、math.tan)

python - 对从 Python 脚本中运行 Scrapy 感到困惑

pandas - 如何在 Jupyter 中打开 .tsv 文件? Jupyter.Notebook 尝试了建议,但它不起作用

python - 按年月分组并在 Python 中查找前 N 个最小值列

python - 由于耗尽了所有 RAM,将大量 Pandas df 文本数据保存到磁盘会导致 Colab 崩溃。有解决方法吗?