pandas 에서 map,lambda,merge 의 사용

1508 단어 pythonpandas 학습
pandas map、lambda、merge   

메모:map()는 Series 의 함수 입 니 다.DataFrame 은 사용 할 수 없습니다.DataFrame 은 applymap()을 사용 합 니 다.
 
# -*- coding:utf-8 -*-

from datetime import datetime
import pandas as pd

def Main():

    print("  。。。。。")
    print("      ")
    print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

    uname = ['ad', 'host', 'domain', 'url', 'ref', 'time', 'os', 'os_type']
    df_list = pd.read_csv('/11yue_all.txt', header=None,names=uname, sep='\t')
    print("11yue     。。。。。")

    df_url_ts = pd.read_csv('/babytree.txt', sep=',', header=None,names=['ts', 'url'],dtype={'ts' : str})
    print("url+ts   。。。。。")

    target_dir = '/url_ts_result.txt'

    # time   string     
    df_list['ts'] = df_list['time'].map(lambda x: str(x).replace(' ', '')[0:10])
    print("ts   。。。。。")

    df_result = pd.merge(df_list, df_url_ts, how='inner', on=['ts', 'url'])[['ts', 'url']].drop_duplicates()
    print("merge 。。。。。")

    df_result.to_csv(target_dir,header=None,sep='\t',index=False)
    print("     。。。。。")
    # pd.to_csv(target_dir,header=None,sep='\t')

if __name__ == "__main__":
    Main()
    :         ,          。

좋은 웹페이지 즐겨찾기