{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "#全部行都能输出\n", "from IPython.core.interactiveshell import InteractiveShell\n", "InteractiveShell.ast_node_interactivity = \"all\"" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 字符串函数" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "基本和python内置的字符串方法一样" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2个类似字符串元素的函数" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### np.char.add(a, b)字符串的拼接,类似相对于字符串的+运算\n", "a b 是两个ndarray对象, 这两个对象的元素都必须全是字符串,其作用是把对应位置的字符串进行加法运算。 \n", "要求是a b的形状相同, 或者满足广播规则!" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['123', '456', '789'], dtype='\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mchar\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'1'\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m# 找不到就报错\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\numpy\\core\\defchararray.py\u001b[0m in \u001b[0;36mindex\u001b[1;34m(a, sub, start, end)\u001b[0m\n\u001b[0;32m 752\u001b[0m \"\"\"\n\u001b[0;32m 753\u001b[0m return _vec_string(\n\u001b[1;32m--> 754\u001b[1;33m a, integer, 'index', [sub, start] + _clean_args(end))\n\u001b[0m\u001b[0;32m 755\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 756\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mValueError\u001b[0m: substring not found" ] } ], "source": [ "np.char.index(a, '1') # 找不到就报错" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 三个分割的方法" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### np.char.split(a, 分割符, 分割次数)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['112,a1', '1asda1', '11asd', '1a232'], dtype='