不同时期的不一致索引只得到一种类型

Posted

技术标签:

【中文标题】不同时期的不一致索引只得到一种类型【英文标题】:inconsistent index with different periods get just one type 【发布时间】:2021-12-01 05:10:06 【问题描述】:

我从网上下载了一个 df,基本上是这样的。我只想保留每日价值的行。有没有可能这样做,所以每次我下载 df 我得到的最后一个每日值?

Date name
21-02-2013 1231
22-02-2013 323
23-02-2013 343
... ...
12-10-2020 432
Monthly
02-2013 2655
03-2013 321
... ...
Yearly
Total 2013 3213
Total 2020 543

【问题讨论】:

【参考方案1】:

您可以在“日期”列上执行regex match;对于给定的示例数据

df
Out[10]: 
          Date   name
0   21-02-2013   1231
1   22-02-2013    323
2   23-02-2013    343
3          ...    ...
4   12-10-2020    432
5      Monthly    NaN
6      02-2013   2655
7      03-2013    321
8          ...    ...
9       Yearly    NaN
10  Total 2013   3213
11  Total 2020    543

那就是

df.loc[df['Date'].str.match('[0-9]2\-[0-9]2\-[0-9]4')]
Out[11]: 
         Date   name
0  21-02-2013   1231
1  22-02-2013    323
2  23-02-2013    343
4  12-10-2020    432

# or if you need it to be even more specific:
# df.loc[df['Date'].str.fullmatch('[0-9]2\-[0-9]2\-[0-9]4')]

【讨论】:

您可能需要fullmatch,具体取决于所需的行为。 @HenryEcker 感谢您的提示!将其添加为评论。我认为这取决于 OP 输入的“干净”程度(尾随空格等)什么在这里最有用。 @MrFuppes 谢谢! @HenryEcker 谢谢!

以上是关于不同时期的不一致索引只得到一种类型的主要内容,如果未能解决你的问题,请参考以下文章

C# 中插入符号位置、字符串长度和匹配索引的不一致

BigQuery 返回完全相同的 SELECT Query 的不一致(= 不同)结果,但执行时间除外

NSString 本地化比较:给定较长字符串的不一致结果

使用 cmath 的 fmod (C++) 时的不一致

接近 API 的不一致行为 - iOS iBeacon

获取多个数据库的不一致?