Цель: у меня два Pandas Series
.К каждому я хочу применить функцию, которая дает мне некоторую обобщающую статистику для столбца (например, sum
, count
и т. Д.).Все это встроено в цикл для каждого.Например:
DataFrame1
Id V1 V2
0 3 2
1 2 1
DataFrame2
Id T1 T2
0 4 2
1 5 2
Результат (для задачи подсчета) должен быть:
DataFrameGoal
Id V1 V2 T1 T2
0 2 2 2 2
Мой код работает нормально, но решение, которое я получаю:
DataFrameGoal
Id V1 V2 T1 T2
0 2 2 NaN NaN
1 NaN NaN 2 2
Мой код:
import pandas as pd
import numpy as np
df1 = pd.DataFrame({'a' : np.random.randn(6),
'b' : np.random.randn(6),
'c' : np.random.randn(6)})
df2 = pd.DataFrame({'d' : np.random.randn(6),
'e' : np.random.randn(6),
'f' : np.random.randn(6)})
def mysum(col):
return col.count()
lst = []
lst.append(df1)
lst.append(df2)
myDf = pd.DataFrame()
for el in lst:
test = el.apply(lambda cols: mysum(cols))
myDf = myDf.append(test, ignore_index=True)
print(myDf)
Может ли кто-нибудь помочь мне получить результат, к которому я стремлюсь?Я также попытался .assign
, но это не могло решить и мою проблему.PS: я знаю, что простые вещи, такие как подсчет или сумма, могут быть выполнены довольно легко, но у меня есть некоторая сложная задача, и это всего лишь простой пример.