首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我要从另一个excel导出具有相同日期的日期行。

我要从另一个excel导出具有相同日期的日期行。
EN

Stack Overflow用户
提问于 2022-08-08 14:36:38
回答 2查看 43关注 0票数 1

我是Python新手,我即将解决一些简单的问题。

我有两个excel数据集。第一栏载有我在不同日子所取的样本,分别列有“日期”栏及“月份”栏,详情如下:

还有另一个excel,我只想要的约会

我想用与第二个excel相同的日期过滤第一个excel,并打印出符合这些条件的行。

这是我的代码:第一次尝试:

代码语言:javascript
运行
复制
import datetime

import pandas
import pandas as pd
import openpyxl
from pandas import DataFrame
from datetime import datetime
import datetime as dt
import numpy as np

df_1=pd.read_excel('waterstationin29UMT.xlsx',sheet_name='Sheet1') #first excel
print(df_1)
df_2=pd.read_excel('29UMTdate.xlsx',sheet_name='Sheet1') #second excel
print(df_2)

minyan_d = df_2.iloc[1:11:,1:4]              #only want the date information
print(type(minyan_d))
# obtain datetime series:
df_2_1=pd.to_datetime(minyan_d['system:time_start'],format='%Y/%m/%d') 
print(type(df_2_1.dt.year))
water_date = df_1['SampDay']
water_month = df_1['SampMonth']
df_1.where((df_1['SampDay'] == df_2_1.dt.day) and (df_1['SampMonth'] == df_2_1.dt.month))
代码语言:javascript
运行
复制
and get the bug said that 'Can only compare identically-labeled series objects'

```javascript

第二次尝试:

代码语言:javascript
运行
复制
   for y in water_month:
      if [x == (df_2_1.dt.day)] and [y ==(df_2_1.dt.month)]:
         print(1)
      else:
         print(2)

我知道第一个excel中的一些数据在第二个excel中找不到,但是我不知道为什么我只得到一个。我是Python新手。请原谅我提出的幼稚的问题。

EN

回答 2

Stack Overflow用户

发布于 2022-08-08 14:41:33

使用merge()

示例:

代码语言:javascript
运行
复制
merged = pd.merge(df_1, df_2, how='inner', on=['SampMonth'])

这将加入跨dataframes的SampMonth列中具有相同条目的行。您还可以使用how="outer",这会导致不同的合并。

阅读相关文档,了解如何将其用于您的需求--这是非常有用的。

或者,如果你只想过滤一个数据,你可以这样做:

代码语言:javascript
运行
复制
df_1 = df_1[df_1["SampMonth" == <insert month here>]]

这将返回数据中的行,其中月份与您想要的匹配--您可以将内部布尔值设置为复合布尔值,就像在(condition 1) & (condition 2) & (condition 3)中那样,以使整个日期匹配。

票数 1
EN

Stack Overflow用户

发布于 2022-08-08 18:19:51

伙计们。我想我找到了解决方案,但仍然非常复杂,我已经将第一个excel的数据转换为日/月/年格式,并通过以下代码进行了比较:) minmin =df_1‘value’..isin(df_2.iloc0:11,5:8),这给了我假/真。任何有效和节省时间的代码也是必要的!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73279648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档