【发布时间】:2018-04-26 07:09:30
【问题描述】:
我想将我的函数应用于数据框,但它不应该影响第一行。因为这是我的总和行。当我将函数应用于数据框时,它也会划分第一行。我正在尝试将每个值除以第一行值。
我怎样才能成功? 我还想用两位小数显示结果,比如 40,00 而不是 *40,0。
这是我的函数和数据框
df1 = pd.DataFrame(np.array([[200,200],[40,40],[80,80],[80,80]]), columns=
["Erkek","Kadin"], index=["Base","AB","C1","C2"])
def yuzde(x):
x = x/x[0]
x = x*100
return round(x,2)
tablo = df1.apply(yuzde, axis=0)
print(tablo)
我的输出是:
Erkek Kadin
Base 100.0 100.0
AB 20.0 20.0
C1 40.0 40.0
C2 40.0 40.0
但我想要这样;
Erkek Kadin
Base 200 200
AB 20.00 20.00
C1 40.00 40.00
C2 40.00 40.00
谢谢,
【问题讨论】:
-
将其格式化为将正确显示的字符串
-
我的回答有问题?
-
实际上它解决了我的大部分问题,但关键是我需要浮点格式的它们。
标签: python-3.x pandas dataframe apply