假设根据全路径地址,按照"/"截取最后一列获取其文件名。
import pandas as pd
df = pd.DataFrame(['/home/xxx/20190222.wav'],columns = ['filepath'])
filepath
0 /home/xxx/20190222.wav
df['filename'] = df['filepath'].str.split("/").apply(lambda x: x[-1])
filepath filename
0 /home/xxx/20190222.wav 20190222.wav
参考自:
https://stackoverflow.com/questions/12504976/get-last-column-after-str-split-operation-on-column-in-pandas-dataframe
before = data.frame(attr = c(1,30,4,6), type=c('foo_and_bar','foo_and_bar_2'))
attr type
1 1 f
数据建模之前,我们从数据部门拿到数据,但是这些数据的格式往往并不是我们可以直接使用的,比如下面表中的数据(左:原数据格式)。
原数据格式id自成
一列
,这个很好,但是标签和标签的置信度(这个id属于这个标签的可能性) 都在一个单元格里,仅用空格分隔开来,这对数据处理的过程中很不方便。
我们需要将数据转化成右图格式(右:所需数据格式),这有利于我们用id和其他表格中的数据匹配。
原数据格式:
dataframe
按照某
一列
(假设列名为'columnname')的
取
值
进行拆分。
即:比如
dataframe
的第
一列
只有‘a’、‘b’两种
取
值
可能,就把
dataframe
拆分成两个小的
dataframe
,一个
dataframe
的第
一列
只
取
‘a’,另一个
dataframe
的第
一列
只
取
‘b’。
column_uniques = df['columnname'].unique() #把
一列
所有
取
值
提出来成为一个Array
for column in column_uniques:
temp_da
1.使用str.
split
()方法
=======================================================================================
可以使用pandas 内置的 str.
split
() 方法实现分割
字符串
类.
前几天遇到了一个问题,就是要求我从一个list中,把每个
字符串
的中间的几位
取
出来并在前面加上‘00’,每个
字符串
的分隔符是‘/’,我的第一想法是把list弄到
DataFrame
中,然后循环把要的
取
出来存到新的list中,可是复杂了,后来想到了zip函数,所以,后来实现了一下,文字可能没表述很清楚,我把两种方法都展示一下,好便于大家理解。
首先:数据大致是这个样子的,我就随便写了四个,就是要把‘22#’,‘33#’,‘4#’等等,有很多,输出到list中,格式为:‘0033’,就是前面加上‘00’后面去掉‘#
E 2,1,6,8
我们想把他拆分成多列,
做
法如下:
首先进行拆分 data_df = data_df[‘attrs’].str.
split
(’,’, expand=True)
然后用pd.concat把多列加回data_df,pd.concat([], axi...
import xlrd, xlwt
from xlutils.copy import copy as xl_copy
from openpyxl import load_workbook
import numpy as np
def getInfoOfDigtalChannel(path):
# 去除首字母D, =.=
getInfo = pd.read_e
版本说明:Spark-2.3.0
使用Spark SQL在对数据进行处理的过程中,可能会遇到对
一列
数据拆分为多列,或者把多列数据合并为
一列
。这里记录一下目前想到的对
DataFrame
列数据进行合并和拆分的几种方法。
1
DataFrame
列数据的合并
例如:我们有如下数据,想要将三列数据合并为
一列
,并以“,”分割
+----+---+----...