此问题在此处已有答案:
How to replace pandas append with concat?(3个答案)
4天前关闭。
我试图添加到一个嵌套框架,它是工作,但我不得不使用旧版本的python来做到这一点。我没有使用pd.concat那么多在过去。我不确定如何格式化我的代码,使它输出相同的嵌套框架,它与添加。
def new_df(df):
Employee = []
PayItem = ['E01', 'E40', 'E41', 'E42']
Hours = []
Dollars = []
new = pd.DataFrame(columns = ['Key', 'PayItem', 'Hours', 'Dollars'])
Employee = df.loc[0:27,'Employee Number']
Key = Employee.values.tolist()
Hours = df.loc[0:27,'Working Hours']
for i in range(28):
ok = []
ok.append(np.nan)
ok.append(df.loc[i, 'Product Commissions'])
ok.append(df.loc[i, 'Membership Commissions'])
ok.append(df.loc[i, 'Tips'])
Dollars.append(ok)
for i in range(len(Dollars)):
for j in range(0,1):
new = new.append({'Key' : Employee[i], 'PayItem' : PayItem[0], 'Hours': Hours[i], 'Dollars': Dollars[i][j]}, ignore_index=True)
new = new.append({'Key' : Employee[i], 'PayItem' : PayItem[1], 'Hours': ' ', 'Dollars': Dollars[i][j+1]}, ignore_index=True)
new = new.append({'Key' : Employee[i], 'PayItem' : PayItem[2], 'Hours': ' ', 'Dollars': Dollars[i][j+2]}, ignore_index=True)
new = new.append({'Key' : Employee[i], 'PayItem' : PayItem[3], 'Hours': ' ', 'Dollars': Dollars[i][j+3]}, ignore_index=True)
return new
字符串
我尝试使用pandas concat,但我的格式不正确,没有得到相同的结果。
1条答案
按热度按时间o4tp2gmn1#
pd.concat()
连接了两个panda嵌套框架。所以你需要先用你的新条目设置一个嵌套框架。手工构建ok
可能更容易。所以像这样:字符串