-1
我有一個for
循環遍歷數據框的每一行。現在,當某些表達式匹配時,我想將匹配的行添加到新的數據框中。將循環內生成的行添加到新的數據框中
這是我做了什麼:
dfWithSand3 = pd.DataFrame()
for index, row in df.iterrows():
if row['embarked'] == 'S' and row['pclass'] == 3:
dfWithSand3.append(row)
print(dfWithSand3)
這裏,pd
是pandas
和df
是數據幀。
每當下面的表達式是True
我想將行添加到數據幀dfWithSand3
。
if row['embarked'] == 'S' and row['pclass'] == 3:
眼下的數據幀dfWithSand3
的值是:
Empty DataFrame
Columns: []
Index: []
下面是一個可能的row
值可以是什麼樣子
Unnamed: 0 600
survived 0
pclass 3
sex male
age 42
sibsp 0
parch 0
fare 7.55
embarked S
我不知道是否行表示數據幀與否。
此外,如何將行添加到我創建的新數據框?
所以我不需要任何循環或任何額外的東西? – Cybercop
@Cybercop,是的,我們希望避免循環,當使用Pandas/Numpy/scipy – MaxU
好吧,你想讓大熊貓做它自己的循環,這樣它可以進一步優化python中的for循環。 –