我有超过1500个python数据框,需要将它们组合成一个大数据框。我的问题是数据框具有唯一的列标题和不同的大小。
例如数据框1为:
type sc98*c.firstname sc98*c.lastname sc98*c.username text createdAt statusofExpiration
need John Doe johndoe I need a new car. 111111 expired
数据框2为:
type l8!7s4fn.firstname l8!7s4fn.lastname l8!7s4fn.username text tags.0 tags.1 image.0 createdAt statusOfExpiration
need Matt Smith mattsmith I need a yoga trainer. yoga trainer blankurl.com/ 22222 fulfilled
最后,我想得到一个数据框,如:
type firstname lastname username text createdAt statusofExpiration tags.0 tags.1 image.0
need John Doe johndoe I need a new car. 111111 expired
need Matt Smith mattsmith I need a yoga trainer. 222222 fulfilled yoga trainer blankurl.com/
正如我提到的那样,由于可变的数据框大小,我将无法通过索引调用值,并且由于数据框具有唯一的标识符(例如id.username),因此无法通过列名称调用值。列标题。
总有办法解决这个问题吗?
答案 0 :(得分:0)
由于数据帧具有唯一的列标题和不同的大小,因此没有简单的方法来连接数据帧。我建议您研究以下内容:
df.filter(like='firstname') # select columns containing the word firstname
这样,您可以循环浏览所有数据框中的列名,并根据部分匹配对它们重命名。
答案 1 :(得分:0)
您可以执行此操作以串联或合并多个数据框。希望有帮助!
df1 = DataFrame(
{
'First Name': firstname_list,
'Last Name': lastname_list,
}
)
df2 = DataFrame(
{
'Key1': value_list1,
'Key2': value_list2,
}
)
frames = [df1, df2]
concatenated_df = pd.concat(frames)
concatenated_df.to_csv(r'dataset.csv', sep=',', index=False)