2012-10-28

1,Google, Apple, Amazon, Microsoft: The Holiday Tablets Fight, Fight, Fight!
http://www.forbes.com/sites/timworstall/2012/10/27/google-apple-amazon-microsoft-the-holiday-tablets-fight-fight-fight/


2,How The Most Successful People Find The Perfect Job: A Case Study
Act-Learn-Build Repeat Model              
http://www.forbes.com/sites/actiontrumpseverything/2012/10/27/how-the-most-successful-people-find-the-perfect-job-a-case-study/


3,衝破 10 億銷售,人人手上都有的:康寧玻璃
http://techorange.com/2012/10/26/phone-and-communicationsgorilla-glass-now-protecting-1-billion-devices/


4,Mark Zuckerberg 談創業:我們都需要一段「烘焙」產品的時間
http://techorange.com/2012/10/26/zuck-startup-school/


5,數位教育市場無窮大!Udacity 獲 6.3 億台幣資金
http://techorange.com/2012/10/26/software-eats-education-with-15-million-in-series-b-funding-andreessen-horowitz-bets-on-udacit/
要在 Pandas DataFrame 中使用正则表达式筛选以 `2016` 开头的日期数据,可以借助 `str.contains()` 或者 `apply()` 配合正则表达式来实现。以下是具体实现方式: ### 方法一:使用 `str.contains()` 如果目标列存储的是字符串类型的日期数据,则可以直接通过 `str.contains()` 方法进行匹配。 ```python import pandas as pd # 构造示例数据框 data = {'Date_Column': ['2016-01-01', '2017-05-23', '2016-08-15', 'Not_a_Date', '2016-12-31']} df = pd.DataFrame(data) # 使用 str.contains() 筛选以 '2016' 开头的数据 filtered_df = df[df['Date_Column'].str.contains(r'^2016-', na=False)] print(filtered_df) ``` 在这个例子中,`r'^2016-'` 是用来匹配以 `2016-` 开头的字符串的正则表达式[^1]。参数 `na=False` 用于忽略缺失值(NaN),从而避免潜在错误。 --- ### 方法二:使用 `apply()` 和 `re.match` 当需要更复杂的正则表达式或者处理非字符串类型时,可以采用 `apply()` 并结合 Python 的标准库模块 `re` 来完成任务。 ```python import pandas as pd import re # 构造示例数据框 data = {'Date_Column': ['2016-01-01', '2017-05-23', '2016-08-15', 'Not_a_Date', '2016-12-31']} df = pd.DataFrame(data) # 定义正则表达式匹配逻辑 pattern = r'^2016-\d{2}-\d{2}$' filtered_df = df[df['Date_Column'].apply(lambda x: bool(re.match(pattern, str(x))))] print(filtered_df) ``` 在这里,`re.match(pattern, str(x))` 被应用于每行数据,确保仅保留完全符合给定正则表达式的记录[^5]。同样需要注意的是,在调用 `re.match` 前将数据强制转换为字符串类型以防意外情况发生。 --- ### 输出结果解释 假设原始数据如下: | Date_Column | |-------------| | 2016-01-01 | | 2017-05-23 | | 2016-08-15 | | Not_a_Date | | 2016-12-31 | 经过上述任一种方法过滤后的结果将是: | Date_Column | |-------------| | 2016-01-01 | | 2016-08-15 | | 2016-12-31 | 这意味着所有不符合条件的行均已被移除。 --- ### 注意事项 1. **数据清洗**:在实际场景中,建议先确认目标列是否已标准化为统一格式(如 ISO 8601)。如果不是,需提前做好预处理工作。 2. **性能考量**:对于大规模数据集而言,基于向量化操作的方法通常会比逐行迭代更快一些。因此推荐优先考虑 `str.contains()` 方案除非有特殊需求。 --- ####
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值