我对Python编码很新,希望根据现有列的条件语句创建一个新列。
我使用Python2.7版本并在CentOs上运行代码。
import pandas as pd
file1 = pd.read_csv("/root/Documents/temp_file_{}.csv".format(timestr))
file1['FileName'] = ''
file1['FileName'] = file1['FileType'].apply(lambda x: df['Path'].str.extract('[^/]+$', expand=False) if x=='f' else '')
file1.to_csv('/root/Documents/temp1_file_{}.csv'.format(timestr),index = False)
下面是我的CSV文件:
FileType,Path
d,/
f,/documents/csv/.zip
d,/documents/images
d,/hive/28374849
f,/hadoop/jdjdjd/dnejfn.img
必需的CSV文件:
FileType,Path,FileName
d,/,
f,/documents/csv/.zip,.zip
d,/documents/images,
d,/hive/28374849,
f,/hadoop/jdjdjd/dnejfn.img,dnejfn.img
我想创建一个新的列文件名,只有当列文件类型为“f”时,才能从路径列中提取该列中的数据,否则该列中的数据应为空值或没有数据