Rah*_*jan 16 python-3.x pandas
我在数据框中有一列,我正在尝试从字符串中提取 8 位数字。我该怎么做
Input
Shipment ID
20180504-S-20000
20180514-S-20537
20180514-S-20541
20180514-S-20644
20180514-S-20644
20180516-S-20009
20180516-S-20009
20180516-S-20009
20180516-S-20009
Run Code Online (Sandbox Code Playgroud)
预期产出
Order_Date
20180504
20180514
20180514
20180514
20180514
20180516
20180516
20180516
20180516
Run Code Online (Sandbox Code Playgroud)
我尝试了下面的代码,但没有用。
data['Order_Date'] = data['Shipment ID'][:8]
Run Code Online (Sandbox Code Playgroud)
jez*_*ael 33
您很接近,需要索引,str适用于Series 的每个值:
data['Order_Date'] = data['Shipment ID'].str[:8]
Run Code Online (Sandbox Code Playgroud)
如果没有NaNs 值,为了获得更好的性能:
data['Order_Date'] = [x[:8] for x in data['Shipment ID']]
Run Code Online (Sandbox Code Playgroud)
print (data)
Shipment ID Order_Date
0 20180504-S-20000 20180504
1 20180514-S-20537 20180514
2 20180514-S-20541 20180514
3 20180514-S-20644 20180514
4 20180514-S-20644 20180514
5 20180516-S-20009 20180516
6 20180516-S-20009 20180516
7 20180516-S-20009 20180516
8 20180516-S-20009 20180516
Run Code Online (Sandbox Code Playgroud)
如果str按位置省略代码过滤器列,则前 N 个值如:
print (data['Shipment ID'][:2])
0 20180504-S-20000
1 20180514-S-20537
Name: Shipment ID, dtype: object
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37492 次 |
| 最近记录: |