我正在尝试使用存储在 txt 文件中的大量数据来构建数据帧。然而,我没有构建数据,所以我不得不处理其中包含的令人沮丧的格式。我无法让我的代码在大数据中工作(并且这样做几乎使我的计算机崩溃),因此设置一个较小的数据框,如下所示:
'Value' ID_1 ID_2
0 11122222 ABC42123 33333
1 21219299 YOF21233 88821
2 00022011 ERE00091 23124
3 75643311;21233332 ROB21288 99421
4 12412421 POW94277 12231;33221
5 54221721 IRS21231;YOU28137 13123
我的挫败感在于在数据中使用了分号。数据旨在表示 ID,但多个 ID 已分配给多个变量。我想重复这些行,以便我可以搜索各个 ID 的数据,并有一个如下所示的数据表:
'Value' ID_1 ID_2
0 11122222 ABC42123 33333
1 21219299 YOF21233 88821
2 00022011 ERE00091 23124
3 75643311 ROB21288 99421
4 21233332 ROB21288 99421
5 12412421 POW94277 12231
6 12412421 POW94277 33221
7 54221721 YOU28137 13123
8 54221721 IRS21231 13123
重新索引不是问题,只要不同的 ID 保持相互链接并保持正确的值。
不幸的是,到目前为止,我所有拆分数据的尝试都以失败告终。我设法设置了一个重复包含分号的数据的函数,通过我的函数为每一列解析它,但之后无法拆分数据。
def delete_dup(df,column):
for a in column:
location = df.loc[df.duplicated(subset= column, keep=False)]
for x in location:
semicolon = df.loc[df[column].str.contains(';', regex=True)]
duplicate = semicolon.duplicated(subset= column, keep='first')
tiny_df = semicolon.loc[duplicate]
split_up = tiny_df[column].str.split(';')
return pd.concat([df, split_up])
我觉得这是我最接近的一次,但离我想要的还差得很远。我尝试在数据帧上执行的任何“If”语句都会遇到“ValueError:DataFrame 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或a.all()." 错误,读起来令人沮丧。关于如何让熊猫做我想做的任何想法?
相关分类