【发布时间】:2021-05-01 11:47:43
【问题描述】:
我想将第二个 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
【问题讨论】:
标签: python pandas merge append row