python - 从另一个系列解析 Pandas 系列

标签 python pandas

我试图解析一系列文本,使用一系列数字,如下面的代码,但我得到的只是一系列 NaN。

import numpy as np
import pandas as pd
numData = np.array([4,6,4,3,6])
txtData = np.array(['bluebox','yellowbox','greybox','redbox','orangebox'])
n = pd.Series(numData)
t = pd.Series(txtData)
x = t.str[:n]
print (x)

输出是
0   NaN
1   NaN
2   NaN
3   NaN
4   NaN

我希望输出是
0      blue
1    yellow
2      grey
3       red
4    orange

是否有捷径可寻。

最佳答案

如果实际上您无法删除最后 3 个字符并且需要依赖切片范围,则可以使用简单的列表推导式。如果您的数据不能保证全部为字符串,或者如果 end,您将需要错误处理。可以超过字符串的长度。

pd.Series([x[:end] for x,end in zip(t,n)], index=t.index)

0      blue
1    yellow
2      grey
3       red
4    orange
dtype: object

关于python - 从另一个系列解析 Pandas 系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62222758/

相关文章:

python - 如何将 Sqlalchemy 表对象转换为 Pandas DataFrame?

python - pandasrolling如何保留每个时间窗口的第一个时间索引

python - ". import certs"

python - 使用在 windows 上为 linux 创建的 conda env

python - 如何将数据框的日期和时间列转换为 Pandas 的日期时间格式?

python - 如何向 Seaborn 箱线图添加标题

python - 在 pandas 滚动函数上获取 CSV 值

python - 获取每个列值最常见的列

python - 如何将 pytorch 张量转换为 numpy 数组?

python - 如何添加到 numpy 数组的末尾并从头开始删除?