Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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_Date_Pandas_Add - Fatal编程技术网

Python 根据日期添加行

Python 根据日期添加行,python,date,pandas,add,Python,Date,Pandas,Add,我有一个数据框,其中一列是日期 2015-11-01 2015-12-01 2016-01-01 2016-03-01 2016-03-01 2016-10-01 2016-10-01 2016-12-01 2017-03-01 我想插入两行, 1.第一行前一个月的开始处的行 2.最后一行的下一个月结束时的一行 要获得所需的输出, 2015-10-01 2015-11-01 2015-12-01 2016-01-01 2016-03-01 2016-03-01 2016-10-01 2016-1

我有一个数据框,其中一列是日期

2015-11-01
2015-12-01
2016-01-01
2016-03-01
2016-03-01
2016-10-01
2016-10-01
2016-12-01
2017-03-01

我想插入两行, 1.第一行前一个月的开始处的行 2.最后一行的下一个月结束时的一行

要获得所需的输出,
2015-10-01
2015-11-01
2015-12-01
2016-01-01
2016-03-01
2016-03-01
2016-10-01
2016-10-01
2016-12-01
2017-03-01
2017-04-01

做这件事的蟒蛇式方法是什么?

试试:

输出:

    date
0   2015-10-01
1   2015-11-01
2   2015-12-01
3   2016-01-01
4   2016-03-01
5   2016-03-01
6   2016-10-01
7   2016-10-01
8   2016-12-01
9   2017-03-01
10  2017-04-01
使用:

或:

    date
0   2015-10-01
1   2015-11-01
2   2015-12-01
3   2016-01-01
4   2016-03-01
5   2016-03-01
6   2016-10-01
7   2016-10-01
8   2016-12-01
9   2017-03-01
10  2017-04-01
df['date']=pd.to_datetime(df['date'])

a = df.loc[1, 'date'] -  pd.offsets.MonthBegin()
b = df.loc[len(df.index) - 1, 'date'] + pd.offsets.MonthBegin()
df = pd.DataFrame([a] + df['date'].tolist() + [b], columns=['date'])
print (df)
         date
0  2015-11-01
1  2015-11-01
2  2015-12-01
3  2016-01-01
4  2016-03-01
5  2016-03-01
6  2016-10-01
7  2016-10-01
8  2016-12-01
9  2017-03-01
10 2017-04-01
df.index = df.index + 1
df.loc[0, 'date'] = df.loc[1, 'date'] -  pd.offsets.MonthBegin()
df.loc[len(df.index), 'date'] = df.loc[len(df.index) - 1, 'date'] + pd.offsets.MonthBegin()
df = df.sort_index()
print (df)
         date
0  2015-10-01
1  2015-11-01
2  2015-12-01
3  2016-01-01
4  2016-03-01
5  2016-03-01
6  2016-10-01
7  2016-10-01
8  2016-12-01
9  2017-03-01
10 2017-04-01