Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 添加一个新列,其中包含符合条件的所有行的值列表_Python_Pandas_Numpy - Fatal编程技术网

Python 添加一个新列,其中包含符合条件的所有行的值列表

Python 添加一个新列,其中包含符合条件的所有行的值列表,python,pandas,numpy,Python,Pandas,Numpy,我有一些数据列表,格式如下: date value '2017-01-01 01:01:01' 99 '2017-01-02 01:01:01' 98 '2017-01-03 01:01:01' 97 .... '2017-01-30 01:01:01' 95 '2017-01-31 01:01:01' 94 date value list ... ... ... '2017-01-30 0

我有一些数据列表,格式如下:

        date           value
'2017-01-01 01:01:01'   99
'2017-01-02 01:01:01'   98
'2017-01-03 01:01:01'   97
....
'2017-01-30 01:01:01'   95
'2017-01-31 01:01:01'   94
        date          value     list
 ...
 ...
 ...
'2017-01-30 01:01:01'   95  [99,98,97,95]
'2017-01-31 01:01:01'   94  [99,98,97,95,94]
我想添加一个类似如下的列:

        date           value
'2017-01-01 01:01:01'   99
'2017-01-02 01:01:01'   98
'2017-01-03 01:01:01'   97
....
'2017-01-30 01:01:01'   95
'2017-01-31 01:01:01'   94
        date          value     list
 ...
 ...
 ...
'2017-01-30 01:01:01'   95  [99,98,97,95]
'2017-01-31 01:01:01'   94  [99,98,97,95,94]

其中,第三列是第二列中的值列表,如果日期在相应行中日期之前的某个时间范围内(例如5天)

像这样的东西应该有用

df = pd.DataFrame({'date': ['2017-01-01 01:01:01', '2017-01-02 01:01:01', '2017-01-03 01:01:01', '2017-01-30 01:01:01', '2017-01-31 01:01:01'],
                   'value': [99,98,97,95,94]})

df['date'] = pd.to_datetime(df['date'])

def get_list(row):

   subset = df[(row['date'] - df['date'] <= pd.to_timedelta('5 days')) & (row['date'] - df['date'] >= pd.to_timedelta('0 days'))]
   return str(subset['value'].tolist())

df['list'] = df.apply(get_list, axis=1)

你被否决了,因为你的问题完全模糊。只需单击问题文本编辑器右上角的(?)帮助图标。谢谢Riley!for循环会不会使代码变慢,并有点违背pandas的目的?我编辑了代码,使其更干净,并避免使用for循环