我想根据介于另一个数据框的日期之间的日期过滤一个数据框。
我尝试了以下代码:
df1 = pd.DataFrame({
'Start':['1/1/2016', '1/1/2016', '1/1/2016', '1/1/2016', '1/1/2016'],
'end':['1/12/2016', '1/12/2016', '1/12/2016', '1/12/2016', '1/12/2016'],
'Qty':[1, 2, 3, 4, 2],
})
df2 = pd.DataFrame({
'Start':['1/1/2016', '1/1/2016', '1/1/2016'],
'end':['1/6/2016', '1/6/2016', '1/6/2016'],
'Price':[11, 12, 31],
})
df2[(df2['Start']>=df1['Start']) & (df2['end']<=df1['end'])]
它应该选择df2的所有三行。但是给出了这个错误:
ValueError: Can only compare identically-labeled Series objects
P.S。在我的情况下,行数不能相同。
答案 0 :(得分:0)
两个数据帧中的行数应该相等以便进行比较。这里df1中有5行,df2中有3行。
答案 1 :(得分:0)
pandas.to_datetime()
-将参数转换为日期时间。DataFrame.reindex()
-使用可选的填充逻辑使DataFrame符合新索引,将NA / NaN放在上一个索引中没有值的位置。例如。
class Contacts extends Component {
render() {
console.log(this.props.contacts); // use props instead of state
return (
<div>
{this.props.contacts.map((contact, index) =>
<div>
<Contact key={index} contact={contact} contacts={this.props.contacts}/>
</div>
)}
</div>
)
}
}