Python 在附加两个或多个数据集时,如何添加数据集标识符(如id列)?

Python 在附加两个或多个数据集时,如何添加数据集标识符(如id列)?,python,pandas,Python,Pandas,我有多个csv格式的数据集,我想通过附加导入。每个数据集具有相同的列名称(字段),但值和长度不同 例如: df1 date name surname age address ... df2 date name surname age address ... 我想要 df=df1+df2 date name surname age address dataset (df1) 1

我有多个csv格式的数据集,我想通过附加导入。每个数据集具有相同的列名称(字段),但值和长度不同

例如:

df1

    date name surname age address
...

df2
    date name surname age address
...
我想要

 df=df1+df2
        date name surname age address dataset

  (df1)                                  1
    ...                                  1
  (df2)                                  2
    ...                                  2
i、 e.我想添加一个新列,它是数据集的标识符(字段来自哪里,如果来自数据集1或数据集2)


我怎么做?这就是你要找的吗

注意:示例的列数比您的少,但方法是相同的

将熊猫作为pd导入
df1=pd.DataFrame({
'name':[f'name{i}'表示范围(5)中的i],
“年龄”:范围(10,15)
})
df2=pd.DataFrame({
'name':[f'name{i}'表示范围(20,22)中的i],
“年龄”:范围(20,22)
})
组合=局部浓度([df1,df2])
组合['dataset']=[1]*len(df1)+[2]*len(df2)
打印(合并)
输出

     name  age  dataset
0   Name0   10        1
1   Name1   11        1
2   Name2   12        1
3   Name3   13        1
4   Name4   14        1
0  Name20   20        2
1  Name21   21        2

这就是你要找的吗

注意:示例的列数比您的少,但方法是相同的

将熊猫作为pd导入
df1=pd.DataFrame({
'name':[f'name{i}'表示范围(5)中的i],
“年龄”:范围(10,15)
})
df2=pd.DataFrame({
'name':[f'name{i}'表示范围(20,22)中的i],
“年龄”:范围(20,22)
})
组合=局部浓度([df1,df2])
组合['dataset']=[1]*len(df1)+[2]*len(df2)
打印(合并)
输出

     name  age  dataset
0   Name0   10        1
1   Name1   11        1
2   Name2   12        1
3   Name3   13        1
4   Name4   14        1
0  Name20   20        2
1  Name21   21        2

在Spark with scala中,我会这样做:

导入org.apache.spark.sql.functions_

  val df1 = sparkSession.read
    .option("inferSchema", "true")
    .json("/home/shredder/Desktop/data1.json")

  val df2 = sparkSession.read
    .option("inferSchema", "true")
    .json("/home/shredder/Desktop/data2.json")

  val df1New = df1.withColumn("dataset",lit(1))
  val df2New = df2.withColumn("dataset",lit(2))

  val df3 = df1New.union(df2New)
  df3.show()

在Spark with scala中,我会这样做:

导入org.apache.spark.sql.functions_

  val df1 = sparkSession.read
    .option("inferSchema", "true")
    .json("/home/shredder/Desktop/data1.json")

  val df2 = sparkSession.read
    .option("inferSchema", "true")
    .json("/home/shredder/Desktop/data2.json")

  val df1New = df1.withColumn("dataset",lit(1))
  val df2New = df2.withColumn("dataset",lit(2))

  val df3 = df1New.union(df2New)
  df3.show()

我们在
concat

combined = pd.concat([df1, df2],keys=[1,2]).reset_index(level=1)

我们在
concat

combined = pd.concat([df1, df2],keys=[1,2]).reset_index(level=1)

请显示您已尝试的内容(代码)?如何将这些数据帧附加在一起?@Shubham Sharma,附加数据帧的代码是concat(如下面的答案所示)。我不知道的是如何添加一个新列来标记数据集中的行请显示您尝试过的内容(代码)?如何将这些数据帧附加在一起?@Shubham Sharma,附加数据帧的代码是concat(如下面的答案所示)。我不知道的是如何添加一个新的列来标记数据集中的行,这就是我要寻找的。谢谢你@Balaji AmbreshYes,这就是我要找的。谢谢你@Balaji Ambresh