Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建一个dataframe以详细说明另一个dataframe的信息_Python_Pandas - Fatal编程技术网

Python 创建一个dataframe以详细说明另一个dataframe的信息

Python 创建一个dataframe以详细说明另一个dataframe的信息,python,pandas,Python,Pandas,我有一个数据框,上面有付款的金额和数量以及开始日期。我想创建一个新的数据框架,其中包含每月一行的所有付款。 你们能告诉我怎么完成吗 # 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','DAT

我有一个数据框,上面有付款的金额和数量以及开始日期。我想创建一个新的数据框架,其中包含每月一行的所有付款。 你们能告诉我怎么完成吗

# 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 
现有数据帧字段:

如果需要DATAFRAME,请打开付款并更新日期:

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

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)
以下是我的尝试:

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

你好,我的朋友,我会试试的!好吧,当我尝试在真实的df时,它对我不起作用