创建一个dataframe来详细说明另一个datafram的信息

2024-04-26 02:33:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧的价值和数量的付款和开始日期。我想创建一个新的数据框,所有的付款每月一行。 你们能告诉我怎么完成吗?你知道吗

# Import pandas library 
import pandas as pd 

# initialize list of lists 
data = [[1,'2017-06-09',300,3]] 

# Create the pandas DataFrame 
df = pd.DataFrame(data, columns = ['ID','DATE','VALUE','PAYMENTS']) 

# print dataframe. 
df 

现有数据帧字段:

enter image description here

如果需要数据框,请打开付款并更新日期: enter image description here

我的第一个想法是做一个循环附加付款。但是如果在这个循环中我已经放置了其他字段并生成了de新的数据帧,那么任务就完成了。你知道吗

result = [] 
for value in df["PAYMENTS"]: 
if value == 1: 
    result.append(1) 
elif value ==3: 
    for x in range(1,4):
        result.append(x) 
else: 
    for x in range(1,7):
        result.append(x)

Tags: 数据indataframepandasdffordata数量
1条回答
网友
1楼 · 发布于 2024-04-26 02:33:08

以下是我的尝试:

df.VALUE = df.VALUE / df.PAYMENTS
df = df.merge(df.ID.repeat(df.PAYMENTS), on='ID', how='outer')
df.PAYMENTS = df.groupby('ID').cumcount() + 1

输出:

   ID        DATE  VALUE  PAYMENTS
0   1  2017-06-09  100.0         1
1   1  2017-06-09  100.0         2
2   1  2017-06-09  100.0         3

相关问题 更多 >