⑴ python pandas 過濾某列特殊字元求助
漢字也被替換掉了:utf-8
import numpy as np
import pandas as pd
import re
df=pd。
#coding;cidnum'.keyword = df,';)
發現結果把所有的非數字及字母全部替換掉了;;keyword')
df;/, '.str,';'[^a-zA-Z0-9_\]
#將雙引號過濾掉
#將NA的替換掉g
df=df.keyword = df;;path'
df,'name'home/.keyword, '.replace(r;0'file_20150625'.fillna(')
r=u',header=None;cid'.str.lower()
i = 0
df, sep='.keyword,字母意外的所有特殊符號,數字;;u9fa5]'u4e00-\t'想過濾掉除文字。原因是什麼啊.read_csv('.columns=[',具體解決方案如下:
解決方案1:
改成r="\W"試試
解決方案2:
=u'u4e00-\[^a-zA-Z0-9_\u9fa5]'
解決方案3:
你自己先要確定「亂碼」的定義,例如韓文(unicode),如果你裝了韓文字體,那是可以顯示的,不是亂碼,但沒裝的話就是問號一堆,如果是韓文
(euc-kr),在漢字系統那隻是一堆無語義的漢字……可能這個舉例扯遠了,你覺得不會有這種情況,但我只是提醒一下會有意料之外的情況
所以,你需要一個白名單,把你允許的字元unicode范圍都列出來,因為肯定不止漢字,像你列出的文件名中就有空格
另外,沒必要逐個字元檢查,直接用re.sub去除白名單外的字元就可以了
⑵ python中的filter()函數怎麼用特別是一個函數有多個輸入參數時。
map是把函數調用的結果放在列表裡面返回,它也可以接受多個 iterable,在第n次調用function時,將使用iterable1[n], iterable2[n], ...作為參數。
filter(function, iterable)
這個函數的功能是過濾出iterable中所有以元素自身作為參數調用function時返回True或bool(返回值)為True的元素並以列表返回.
def f_large_than_5(x):
return x > 5
filter(f_large_than_5, range(10))
>>[6,7,8,9]
⑶ python pandas如何過濾剔除數據
import pandas as pd
khhlist = pd.read_excel('客戶號.xlsx')
hmdlist = pd.read_excel('黑名單.xlsx')
khhlist = khhlist[~khhlist['客戶號'].isin(hmdlist['黑名單客戶'].values)]
renamelist = {'客戶號':'優質客戶'}
yzkhlist = khhlist.rename(columns=renamelist)
yzkhlist.to_excel('優質客戶.xlsx', encoding='utf8')
這個簡單,用isin函數,前面加上~取反即可
⑷ 智能對話模型
智能對話模型
概述
AIML 人工智慧標記語言
WebQA 開放域問答
Deeplearning 深度學習
效果展示
啟動服務
環境說明
Linux/Python2.7/PyCharm
安裝依賴
$ pip2 install jieba $ pip2 install aiml $ pip2 install lxml $ pip2 install beautifulsoup4 $ pip2 install flask
運行流程
Working directory: chatbot-aiml-webqa/core
$ cd chatbot-aiml-webqa/core $ python2 web/server.py (or $ nohub python2 web/server.py) > ...... > * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) CURL: $ curl "0.0.0.0:5000/chat" -d "message=新聞" $ curl "0.0.0.0:5000/chat" -d "message=天氣" $ curl "0.0.0.0:5000/chat" -d "message=時間"
處理流程
步驟一:預處理
限制字數
過濾敏感詞(惡心、政治、色情、違法......)
步驟二:知識庫匹配(AIML)
基本功能:打招呼、閑聊......
異常處理:問題太長、空白問題、找不到回復......
情緒回答:表情、誇獎、嘲笑......
如果匹配不到回答,進行步驟三
步驟三:互聯網搜索(WebQA)
新聞----新浪新聞
文章----每日一文
笑話----糗事網路
時間----搜狗時間
天氣----搜狗天氣
空氣----搜狗空氣
其他遍歷網路搜索
網路漢語
網路翻譯
網路圖譜
網路匯率
網路計算
網路股票
網路歌詞
網路最新
網路
網路知道
如果搜索不到回答,進行步驟四
步驟四:神經網路
基於Seq2Seq模型的下一代對話引擎不僅僅是在現有的回答中訓練最佳回答,而是能自我創造一個類似於人類的回答。
語料庫: http://61.93.89.94/Noah_NRM_Data/
目前這部分沒時間實現......暫時先用圖靈機器人API代替吧~~~
學習功能
利用AIML模板+shelve存儲
* 說錯 *
* 答錯 *
......
ME > 世界上最漂亮的人是誰 AI > 灰姑娘 ME > 你說錯了 AI > 那你教我吧 ME > 白雪公主 AI > 我學會啦,下次你就可以問我"世界上最漂亮的人是誰"...... ME > 世界上最漂亮的人是誰 AI > 白雪公主
⑸ Python 之內置函數:filter、map、rece、zip、enumerate
這幾個函數在 Python 裡面被稱為高階函數,本文主要學習它們的用法。
filter 函數原型如下:
第一個參數是判斷函數(返回結果需要是 True 或者 False),第二個為序列,該函數將對 iterable 序列依次執行 function(item) 操作,返回結果是過濾之後結果組成的序列。
簡單記憶:對序列中的元素進行篩選,獲取符合條件的序列。
返回結果為: ,使用 list 函數可以輸入序列內容。
map 函數原型如下:
該函數運行之後生成一個 list,第一個參數是函數、第二個參數是一個或多個序列;
下述代碼是一個簡單的測試案例:
上述代碼運行完畢,得到的結果是: 。使用 print(list(my_new_list)) 可以得到結果。
map 函數的第一個參數,可以有多個參數,當這種情況出現後,後面的第二個參數需要是多個序列。
map 函數解決的問題:
rece 函數原型如下:
第一個參數是函數,第二個參數是序列,返回計算結果之後的值。該函數價值在於滾動計算應用於列表中的連續值。
測試代碼如下:
最終的結果是 6,如果設置第三個參數為 4,可以運行代碼查看結果,最後得到的結論是,第三個參數表示初始值,即累加操作初始的數值。
簡單記憶:對序列內所有元素進行累計操作。
zip 函數原型如下:
zip 函數將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然後返回由這些元組組成的列表。
如果各個迭代器的元素個數不一樣,則返回列表長度與最短的對象相同,利用星號( * )操作符,可以將元組解壓為列表。
測試代碼如下:
展示如何利用 * 操作符:
輸出結果如下:
簡單記憶:zip 的功能是映射多個容器的相似索引,可以方便用於來構造字典。
enumerate 函數原型如下:
參數說明:
該函數用於將一個可遍歷的數據對象組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。
測試代碼如下:
返回結果為: 。
本文涉及的函數可以與 lambda 表達式進行結合,能大幅度提高編碼效率。最好的學習資料永遠是官方手冊