我有一个熊猫数据框
import pandas as pd
import numpy as np
d = pd.DataFrame({
'col': ['A', 'B', 'C', 'D'],
'start': [1, 4, 6, 8],
'end': [4, 9, 10, 12]
})
我正在尝试根据起始字段和结束字段计算范围字段,以使其值为
[1, 2, 3, 4]
[4, 5, 6, 7, 8, 9]
[6, 7, 8, 9, 10]
[8, 9, 10, 11, 12]
我尝试了以下选项
d['range_'] = np.arange( d.start, d.end, 1)
d['range_'] = range(d['start'], d['end'])
但出现以下错误
ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。
TypeError:“系列”对象不能解释为整数<-秒尝试
任何帮助将不胜感激
谢谢
答案 0 :(得分:2)
尝试一下:
d.apply(lambda x: np.arange(x['start'], x['end']+1), axis=1)
输出:
0 [1, 2, 3, 4]
1 [4, 5, 6, 7, 8, 9]
2 [6, 7, 8, 9, 10]
3 [8, 9, 10, 11, 12]
dtype: object
注意: np.arange
和range
并非设计用于接受pd.Series,因此可以使用逐行应用来创建范围。 / p>
答案 1 :(得分:1)
IIUC
const express = require('express');
const apps = require('./filename');
const app = express();
app.use('/apps', apps);