在Python-Pandas上移动百分比
假设下表的标题是天,100是金额 我需要的是从第二天开始生成[50%、30%和20%的金额分配 欢迎提出任何建议在Python-Pandas上移动百分比,python,dataframe,Python,Dataframe,假设下表的标题是天,100是金额 我需要的是从第二天开始生成[50%、30%和20%的金额分配 欢迎提出任何建议 import pandas as pd d = {'0': [100], '1': [100], '2': [100], '3': [100]} df = pd.DataFrame(data=d) df 0 1 2 3 0 100 100 100 100 d = {'0': [0,0,0,0], '1': [50,0,0,0], '2': [30,50
import pandas as pd
d = {'0': [100], '1': [100], '2': [100], '3': [100]}
df = pd.DataFrame(data=d)
df
0 1 2 3
0 100 100 100 100
d = {'0': [0,0,0,0], '1': [50,0,0,0], '2': [30,50,0,0], '3': [20,30,50,0], '4': [0,20,30,50],'5': [0,0,20,30],'6': [0,0,0,20]}
df = pd.DataFrame(data=d)
df
0 1 2 3 4 5 6
0 0 50 30 20 0 0 0
1 0 0 50 30 20 0 0
2 0 0 0 50 30 20 0
3 0 0 0 0 50 30 20
您应该使用float选项在每一行上运行。 df[DAY].astypefloat
然后你可以对它进行常规数学运算。这就是我想要的:
import pandas as pd
d = {'dia': [1,2,3,4,5], 'monto': [100,100,100,100,100]}
df = pd.DataFrame(data=d)
ratios=[0.5,0.3,0.2]
my_new_list = []
for i, monto in enumerate(df['monto']):
dias=[0]*(i+1)
montos = [r * monto for r in ratios]
montos.extend(dias)
montos.sort(reverse = False)
my_new_list.append(montos)
my_new_list
这是怎么回事?你能给我一点解释吗?这个想法是,一个循环通过第一个表中的每个元素,即100的数量,并创建一个流量下降,它找到的每个数量都有%。