Python 熊猫分裂不起作用
这可能不是有史以来最聪明的问题,但我不知道为什么通常的分割函数会返回熊猫体内的空细胞。以下是我尝试过的两件事: 第一: 第二:Python 熊猫分裂不起作用,python,pandas,split,Python,Pandas,Split,这可能不是有史以来最聪明的问题,但我不知道为什么通常的分割函数会返回熊猫体内的空细胞。以下是我尝试过的两件事: 第一: 第二: def splitter(z): try: a = z.map(lambda x: x.split('by')[1]) except: a = "" return a df1['being_remixed'] = df1['file_names'].apply(splitter) “文件名”列上的字符串如下所示
def splitter(z):
try:
a = z.map(lambda x: x.split('by')[1])
except:
a = ""
return a
df1['being_remixed'] = df1['file_names'].apply(splitter)
“文件名”列上的字符串如下所示:
“StrandbeestinedSpiredWalkingMachinebydanowall---1043007.jpg”或
“DetailedAlienHead---1913632.jpg”
当我使用“-----”进行拆分时,它会起作用。如何解决我的问题?您需要为每个列表选择第二个值的字符串列表,如果一个项目列表返回NaN
,则需要:
df1['being_remixed'] = df1['file_names'].str.split('by').str[1].fillna('')
样本:
df1 = pd.DataFrame({'file_names':['WalkingMachinebydanowall----1043007.jpg',
'DetailedAlienHead----1913632.jpg']})
print (df1)
file_names
0 WalkingMachinebydanowall----1043007.jpg
1 DetailedAlienHead----1913632.jpg
df1['being_remixed'] = df1['file_names'].str.split('by').str[1].fillna('')
print (df1)
file_names being_remixed
0 WalkingMachinebydanowall----1043007.jpg danowall----1043007.jpg
1 DetailedAlienHead----1913632.jpg
说明:
print (df1['file_names'].str.split('by'))
0 [WalkingMachine, danowall----1043007.jpg]
1 [DetailedAlienHead----1913632.jpg]
Name: file_names, dtype: object
print (df1['file_names'].str.split('by').str[1])
0 danowall----1043007.jpg
1 NaN
Name: file_names, dtype: object
print (df1['file_names'].str.split('by'))
0 [WalkingMachine, danowall----1043007.jpg]
1 [DetailedAlienHead----1913632.jpg]
Name: file_names, dtype: object
print (df1['file_names'].str.split('by').str[1])
0 danowall----1043007.jpg
1 NaN
Name: file_names, dtype: object