我有以下使用Pandas生成空数据帧的脚本:

import pandas as pd
import datetime

#Creating a list of row headers with dates.
start=datetime.date(2017,3,27)
end=datetime.date.today() - datetime.timedelta(days=1)
row_dates=[x.strftime('%m/%d/%Y') for x in pd.bdate_range(start,end).tolist()]
identifiers=['A','B','C']
#Creating an empty Dataframe
df=pd.DataFrame(index=identifiers, columns=row_dates)

print(df)

现在,假设我有一个函数(我们称之为“我的函数(索引,日期)”),它需要两个输入:索引和日期。
这个函数给了我一个结果,我想用这个结果填充数据框中相应的空槽。但要做到这一点,我需要同时获得指数和日期。
例如,假设我想填充数据帧的第一个槽,我需要索引“A”,第一个日期是“27/3/2017”,所以我有:
my_函数('A','27/3/2017')
我怎样才能在我的整个数据帧上做到这一点?如果这些听起来让人困惑,我深表歉意。

最佳答案

添加到代码末尾:

for col in df.columns:
    for row in df.iterrows():
        print(row[0], col)

它打印(返回)一个元组,由索引(日期)和列名组成。可能有一种更快的方法。
如果只想对df中的每个单元格应用函数,则可以根据需要使用.apply、.map或.applymap。https://chrisalbon.com/python/pandas_apply_operations_to_dataframes.html

10-04 21:47
查看更多