从现有df创建新df(python-pandas)

从现有df创建新df(python-pandas),python,pandas,dataframe,Python,Pandas,Dataframe,我创建了一个数据帧df1,如下所示 data = {'ID':[1,2,3,4,5,6,7,8,9,10], 'date_1':['2021-03-01','2021-03-02','2021-04-03','2021-03-04','2021-03-05','2021-03-06','2021-03-07','2021-03-08','2021-03-09','2021-03-10'], 'date_2': ['2021-03-06','2021-03-07',

我创建了一个数据帧df1,如下所示

data = {'ID':[1,2,3,4,5,6,7,8,9,10],
        'date_1':['2021-03-01','2021-03-02','2021-04-03','2021-03-04','2021-03-05','2021-03-06','2021-03-07','2021-03-08','2021-03-09','2021-03-10'],
        'date_2': ['2021-03-06','2021-03-07','2021-03-08','2021-03-09','2021-03-10','2021-03-11','2021-03-12','2021-03-13','2021-03-14','2021-03-15']
       }
df1 = pd.DataFrame(data, columns = ['ID','date_1','date_2'])
df1
这是df1输出

我正试图创建一个新的数据帧df2,其中只包含df1中的一列“date_3”。df2中的列“date_3”理想情况下应仅返回df1中满足以下语句条件的行(日期)(True)

df1['date\u 1']使用:

[489]中的
:df2=df[df['date_1']


df2=df.loc[df[“date_1”]使用:
df[df['date_1']哪个
date_3
date_1
date_2
?我希望date_1在date_3中显示符合条件
df2=df1.loc[df1['date_1']谢谢!这是有效的!“MayaChanWall我可以提出一个建议吗?我们应该避免。”[在你的大熊猫声明中]这是一个链式索引的提示,应该用<代码> LOC 重写。请考虑使用<代码> DF2= DF1。LOC[DF1[ DATEY1’] @ ScottBoston谢谢你的建议。我已经更新了我的答案。
df1['date_1'] <= df1['date_2']
data = [df1['date_1'] <= df1['date_2']]
headers = ['date_3']
df2 = pd.concat(data, axis=1, keys=headers)
df2
In [489]: df2 = df[df['date_1'] <= df['date_2']]['date_1'].to_frame('date_3')

In [490]: df2
Out[490]: 
       date_3
0  2021-03-01
1  2021-03-02
3  2021-03-04
4  2021-03-05
5  2021-03-06
6  2021-03-07
7  2021-03-08
8  2021-03-09
9  2021-03-10
df2 = df.loc[df['date_1'] <= df['date_2'], 'date_1'].to_frame('date_3')