Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何从每个列都由正则表达式创建的列表中创建数据帧_Python 3.x_Regex_Dataframe - Fatal编程技术网

Python 3.x 如何从每个列都由正则表达式创建的列表中创建数据帧

Python 3.x 如何从每个列都由正则表达式创建的列表中创建数据帧,python-3.x,regex,dataframe,Python 3.x,Regex,Dataframe,我有这样一份清单: lst = ['2021_01_21__11_10_54_1__13928_snapshot.jpg', '2021_01_21__12_27_44_1__13934_snapshot.jpg', '2021_01_21__11_11_08_2__13928_snapshot.jpg', '2021_01_21__12_27_56_2__13934_snapshot.jpg', '2021_01_21__11_11_19

我有这样一份清单:

lst = ['2021_01_21__11_10_54_1__13928_snapshot.jpg',
       '2021_01_21__12_27_44_1__13934_snapshot.jpg',
       '2021_01_21__11_11_08_2__13928_snapshot.jpg',
       '2021_01_21__12_27_56_2__13934_snapshot.jpg',
       '2021_01_21__11_11_19_3__13928_snapshot.jpg',
       '2021_01_21__12_28_08_3__13934_snapshot.jpg']
我想创建一个数据框,以便每个列都由以下内容表示:

def by_number(path):
    base_name = os.path.basename(path)
    return re.findall('[\_]{2}(\d{5})',lst)
def by_index(path):
    base_name = os.path.basename(path)
    return re.findall('\_(\d)[\_]{2}',lst)
这些行将由以下内容表示:

def by_number(path):
    base_name = os.path.basename(path)
    return re.findall('[\_]{2}(\d{5})',lst)
def by_index(path):
    base_name = os.path.basename(path)
    return re.findall('\_(\d)[\_]{2}',lst)
所以最终我会得到一个数据帧,看起来像这样:

name\u list=['2021\u 01\u 21\u 11\u 10\u 54\u 1\u 13928\u snapshot.jpg',
“2021_01_21_12_27_44_1_13934_snapshot.jpg”,
“2021_01_21_11_11_08_2_13928_snapshot.jpg”,
“2021_01_21_12_27_56_2_13934_snapshot.jpg”,
“2021_01_21_11_11_19_3_13928_snapshot.jpg”,
“2021\u 01\u 21\u 12\u 28\u 08\u 3\u 13934\u snapshot.jpg”]
进口稀土
作为pd进口熊猫
df=pd.DataFrame([[0]],columns=['count'])#初始化DataFrame
对于名称列表中的名称:
count=re.search('\\\(\d)[\\\]{2}',name.group(1)
col=re.search('[\\]{2}(\d{5}),name).group(1)
如果((df['count']==count)).any():
df.loc[df['count']==计数,列]=名称
其他:
new_row=pd.DataFrame([[count,name]],columns=['count',col])
df=df.append(新行)
df.set_索引('count',in place=True)
打印(df)

你能举个例子吗。它不清楚是的,在你询问时编辑希望这能解决你的问题。我花了30分钟来解决它。您可以在完成后删除第一行,使用
df=df.iloc[1://code>