亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

工作中常用到的python數(shù)據(jù)處理

系統(tǒng) 1784 0

目錄

1.獲取工作目錄和設(shè)置工作目錄

2.獲取日期處理

3.列表的倒排序

4.使用apply處理 兩個(gè)值的代碼

5.斷言函數(shù) assert

6.yield生成器

7.獲取程序運(yùn)行時(shí)間?

8.動(dòng)態(tài)生成變量

9.數(shù)據(jù)可持續(xù)化操作

10.數(shù)據(jù)運(yùn)行時(shí)間2

11.創(chuàng)建目錄

12.刪除無用的數(shù)據(jù)

13.字符串格式化

14.zip自動(dòng)生成字典

15.各種包的離線下載地址

16.路徑的設(shè)置

17.數(shù)據(jù)添加ignore_index的使用技巧

18.刪除nan的總結(jié)

?19.批量重命名

?20.nohup的使用

?21.reset_index的使用

1.獲取工作目錄和設(shè)置工作目錄

            
              import os
# 查看目錄下的文件
print(os.listdir(PATH) l
# 查看當(dāng)前工作目錄
retval = os.getcwd()
print ("當(dāng)前工作目錄為 %s" % retval)
# 修改當(dāng)前工作目錄
os.chdir( path )
# 查看修改后的工作目錄
retval = os.getcwd()
            
          

2.獲取日期處理

            
              #獲取毫秒級(jí)別的時(shí)間
from  datetime  import  *   
dt = datetime.now()
dt.strftime('%Y-%m-%d-%H-%M-%S.%f') 


import time,datetime
#字符串轉(zhuǎn)化為時(shí)間類型
end_date = datetime.datetime.strptime('2018-07-01', '%Y-%m-%d')

# 獲取當(dāng)前時(shí)間
today = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())  #方法一

from datetime import datetime, date, timedelta
# 今天
today = (datetime.today()).strftime('%Y%m%d') #方法2
print(today);
# 明天
data_next= (datetime.today() + timedelta(1)).strftime('%Y%m%d');
print(data_next);
# 30天后
data_30= (datetime.today() + timedelta(30)).strftime('%Y%m%d');
print(data_30);

train_periods = pd.read_csv('../input/periods_train.csv', parse_dates=['date_from', 'date_to'])
# 兩個(gè)日期差多少天
all_periods['days_up'] = all_periods['date_to'].dt.dayofyear - all_periods['date_from'].dt.dayofyear
            
          

3.列表的倒排序

            
              List= [1,2,3,4,5,6]
List[::-1] 
            
          

4.使用apply處理 兩個(gè)值的代碼

            
              import numpy as  np
import pandas as pd
df = pd.DataFrame ({
        'a' : np.random.randn(6),
        'b' : ['foo', 'bar'] * 3,
        'c' : np.random.randn(6)}
        )
print(df)
def my_test(a, b):
    return a + b
df['Value'] = df.apply(lambda row: my_test(row['a'], row['c']), axis=1)
print (df)
如何判斷True or False    np.NaN 默認(rèn)為False
if  valus:
    print('yes')
else:
    print('no')
            
          

5.斷言函數(shù) assert

            
              x = 23
assert x < 0
assert x%2== 0
            
          

?

6.yield生成器

            
               def fab(max): 
    n, a, b = 0, 0, 1 
    while n < max: 
        yield b 
            
          

7.獲取程序運(yùn)行時(shí)間?

            
              import time
from datetime import timedelta

def get_time_dif(start_time):
    """獲取已使用時(shí)間"""
    end_time = time.time()
    time_dif = end_time - start_time
    return timedelta(seconds=int(round(time_dif)))

start_time = time.time()
main() # 運(yùn)行程序
time_dif = get_time_dif(start_time)
print("Time usage:", time_dif)

# 時(shí)間的形式:Time usage: 0:09:35
            
          

8.動(dòng)態(tài)生成變量

            
              names = locals()
for i in range(1, 5):
    names['x%s' % i] = i
    if i ==1:
        X_end  = names['x%s' % i]
    else:
        X_end  = X_end + names['x%s' % (i)]

            
          

9.數(shù)據(jù)可持續(xù)化操作

            
              import pickle
def main():
    hjp_list = [123, 456, 789, 'test']
    with open('hjp_list.pkl', 'wb') as pickle_file: # 導(dǎo)入本地
        pickle.dump(hjp_list, pickle_file)
    with open('hjp_list.pkl', 'rb') as pickle_file: # 加載本地?cái)?shù)據(jù)
        my_new_list = pickle.load(pickle_file)
        print(my_new_list)
if __name__ == '__main__':
    main()
            
          

10.數(shù)據(jù)運(yùn)行時(shí)間2

            
              #建模固定模塊
import gc
from contextlib import contextmanager
import time
@contextmanager
def timer(title):
    t0 = time.time()
    yield
    print("{}:使用時(shí)間為{:.0f}s".format(title, time.time() - t0))

#用法:
with timer("導(dǎo)入數(shù)據(jù)"):
   main()  '''這樣就可以看到這段代碼運(yùn)行的時(shí)'''

            
          

11.創(chuàng)建目錄

            
              if not os.path.exists('gen_data'):
    os.mkdir('gen_data')
            
          

12.刪除無用的數(shù)據(jù)

            
              # 刪除缺失率超過90%的列
good_cols = list(train.columns)
for col in train.columns:
    rate = train[col].value_counts(normalize=True, dropna=False).values[0]
    if rate > 0.9:
        print(col)
            
          

13.字符串格式化

            
              name = 'hjp';name1 = 'python'
# 三種方式 推薦第三種
text1 = 'hello %s' %(name )
text2 = 'hello {}'.format(name )
text2 = 'hello {0},{1}'.format(name,name1  )
text3 = f'hello {name}'
            
          

14.zip自動(dòng)生成字典

            
              x=['bob','tom','kitty']
y=[80,90,95]
d=dict(zip(x,y))
print(d)
            
          

15.各種包的離線下載地址

            
              各種包的下載地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/  在谷歌瀏覽器中下載
            
          

16.路徑的設(shè)置

            
              root_dir = 'data/cnews'

path_dir = os.path.join(base_dir, 'train.csv')
            
          

17.數(shù)據(jù)添加ignore_index的使用技巧

            
              data=pd.concat([train, test], ignore_index=True)
res = res.append(count, ignore_index=True)

            
          

18.刪除nan的總結(jié)

            
              #刪除NaN值得匯總

df.dropna()
df.dropna(axis='columns')
df.dropna(how='all')
df.dropna(thresh=2)
df.dropna(subset=['name', 'born'])
df.dropna(inplace=True)
            
          

?19.批量重命名

            
              #字段名稱重命名
print('Compute average')
avg_cc_bal = cc_bal.groupby('SK_ID_CURR').mean()
avg_cc_bal.columns = ['cc_bal_' + f_ for f_ in avg_cc_bal.columns]
            
          

20.nohup的使用

            
              1.例子:
nohup python test.py &
2.查看守護(hù)進(jìn)程
ps -ef | grep python
3.kill進(jìn)程
kill -s 9 xxxxx
            
          

?21.reset_index的使用

            
              reset_index(drop=True)
            
          

22.列表推導(dǎo)式的高級(jí)用法

            
              list_sample1 =[['我','喜歡','你'],['我','愛','你'],['我','疼著','你']]
flattened1 =[x for tup in list_sample1 for x in tup]

flist = [[x for x in tup] for tup in list_sample1 ]
            
          

23 linux 和window 系統(tǒng)路徑編輯統(tǒng)一問題

            
              import os
os.path.join('xxxx','xxxx','xxxx')
            
          

24.map和filter的用法

            
              seq =[1,2,3,4,5]
result =list(map(lambda var:var*2,seq))
print(result)

seq =[1,2,3,4,5]
result =list(filter(lambda var:var>2,seq))
print(result)
            
          

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦?。?!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日日干夜夜欢 | 色综合久久精品中文字幕 | 免费国产成人高清在线观看视频 | 欧美精品网 | 欧美激情在线播放 | 亚洲三级久久 | 日本综合在线观看 | 2021中文字幕亚洲精品 | 中日韩欧美中文字幕毛片 | 欧美特级特黄a大片免费 | 国产夫妻久久线观看 | 亚洲欧洲一区二区三区久久 | 曹逼视频 | 99精品国产成人一区二区 | 亚洲一区不卡视频 | 香港a毛片免费全部播放 | 日本欧美一区二区三区 | 亚洲人成在线免费观看 | 成年女人午夜毛片免费看 | 亚洲最大成人综合网 | 日本欧美高清视频 | 黄色影院免费看 | 人人爱人人草 | 毛片站| 亚洲综合五月天婷 | 天天操天天舔天天干 | 日韩 欧美 自拍 在线 视频 | 精品网站 | 日韩黄网 | 久久99亚洲精品久久久久99 | 伊人丁香狠狠色综合久久 | 另类欧美chinese | 国产亚洲亚洲精品777 | 就要爱综合 | 欧美专区综合 | 中文字幕在线永久 | 美女视频黄是免费的 | 国内精品久久影院 | 校园春色男人天堂 | 亚洲午夜视频在线 | 91精东果冻蜜桃星空麻豆 |