熊猫将DataFrame2 ROW附加到DataFrame1 ROW

丹妮

我想将第二个DataFrame(df2)的行追加到第一个DataFrame(df1),具体取决于df1列中的“ isValid”是否为[T] rue。

我知道如何遍历df1列并搜索True值,但不知道如何轻松地从第二个DataFrame追加行。本来我的数据大约有1000行40列,所以我需要自动进行操作。

import pandas

df1 = pandas.read_csv('df1.csv', sep=';')
df2 = pandas.read_csv('df2.csv', sep=';')

print(df1.to_string(), '\n')
print(df2.to_string(), '\n')

columnSeriesObj = df1.iloc[:, 2]
n = 0
k = 0
for i in columnSeriesObj:
    if i == "T":
        print("True in row number", k)
        # APPEND n ROW from df2 to k ROW from df1
        n += 1
    k += 1

print('\n', df1.to_string())

以下是一些测试值:

df1.csv

DataA;DataB;isValid
1568;1104;F
1224;1213;F
1676;1246;F
1279;1489;T
1437;1890;T
1705;1007;F
1075;1720;F
1361;1983;F
1966;1751;F
1938;1564;F
1894;1684;F
1189;1803;F
1275;1138;F
1085;1748;T
1337;1775;T
1719;1975;F
1045;1187;F
1426;1757;F
1410;1363;F
1405;1025;F
1699;1873;F
1777;1464;F
1925;1310;T

df2.csv

Nr;X;Y;Z;A ;B;C
1;195;319;18;qwe;hjk;wsx
2;268;284;23;rty;zxc;edc
3;285;277;36;uio;vbn;rfv
4;143;369;34;asd;mlp;tgb
5;290;247;16;fgh;qaz;yhn

我想在添加如下所示的图片后使用df1(来自Excel的截图):

在此处输入图片说明

感谢您的任何建议!:D

Shubham Sharma

您可以筛选指标值在df1其中列isValid等于T,然后更新的指数df2从过滤索引值,df1最后join用它df1

m = df1['isValid'].eq('T')
idx = m[m].index[:len(df2)]
df1.join(df2.set_index(idx)).fillna('')

    DataA  DataB isValid Nr    X    Y   Z   A     B    C
0    1568   1104       F                                
1    1224   1213       F                                
2    1676   1246       F                                
3    1279   1489       T  1  195  319  18  qwe  hjk  wsx
4    1437   1890       T  2  268  284  23  rty  zxc  edc
5    1705   1007       F                                
6    1075   1720       F                                
7    1361   1983       F                                
8    1966   1751       F                                
9    1938   1564       F                                
10   1894   1684       F                                
11   1189   1803       F                                
12   1275   1138       F                                
13   1085   1748       T  3  285  277  36  uio  vbn  rfv
14   1337   1775       T  4  143  369  34  asd  mlp  tgb
15   1719   1975       F                                
16   1045   1187       F                                
17   1426   1757       F                                
18   1410   1363       F                                
19   1405   1025       F                                
20   1699   1873       F                                
21   1777   1464       F                                
22   1925   1310       T  5  290  247  16  fgh  qaz  yhn

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

合并熊猫数据框;将DataFrame2的行插入变量DataFrame1的行/列

访问附加到 dataframe1 中某些行的一些常量值并使用 dataframe2 中的值

熊猫,搜索dataframe1的哪些列值在dataframe2的列中以及哪一行

使用现有的列标题将Dataframe1行合并到Dataframe2中-Python Pandas

Python Pandas-根据dataframe1中的另一列将dataframe1中的列与dataframe2中的列相除

交叉连接/合并dataframe1以基于dataframe1中的列创建组合的dataframe2

使用 apply 将列附加到 DataFrame 中,并使用 apply on the row 根据现有值计算新列

使用dataframe2中设置的条件(pandas,python)从dataframe1中提取值

如何使用fuzzywuzzy根据dataframe1对dataframe2进行排序

验证Dataframe2中是否存在Dataframe1的所有行

dataframe1的散点图,标记样式由dataframe2中的连续变量确定

熊猫-如果dataframe的row [i]在row [j]中,则选择行

在类似于sql like运算符的dataframe1列中找到dataframe2列,并使用pandas列出dataframe2的结果

根据dataframe2的列更新dataframe1的列+如果column1不为空,则创建新行

将DataFrame附加到索引熊猫

熊猫-将列附加到DataFrame

使用pandas中dataframe1中的一列的值查找dataframe2中特定列的值

无法将RDD [Row]转换为DataFrame

使用dataframe2中的值过滤dataframe1,并在Python中的特定行值之后选择dataframe 1中的所有行

Scala-如何将Dataset [Row]转换为可以添加到Dataframe的列

仅当特定列至少包含另一列的一个单词时,才从 Dataframe2 合并 Dataframe1 的 Python/Pandas 中的列

如何根据dataframe1中的值从dataframe2子集并将所有子集堆叠在R中的一个数据帧中?

根据特定条件与dataframe2匹配的有效方式来更新dataframe1中的特定行

如何根據在 dataframe2 中創建的列在 dataframe1 中創建列,該列是通過在 dataframe1 上使用 groupby() 導出的

Pyspark:将 pyspark.sql.row 转换为 Dataframe

如何将表1上的row1的数据追加到table2上的row2,并使用查询使两个字段相同

row_number 1 - row_number 2 sql

在Python中将元组('Id','row 1'),('Id','row 2')的集合转换为List ['Id',['row 1','row2']

如何将 MySQL 语法 WITH `cte` AS (VALUES ROW(1), ROW(2), ROW(n)) 转换为 jOOQ DSL?