2017-11-28 2 views
3

として使用するには、私はパンダを使用して空のデータフレームを生成し、次のスクリプトがあります。今Pythonの:どのように使用するか、または取得する列ヘッダをパンダにし、入力/値

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) 

を、私は(機能を持っていると仮定インデックスと日付の2つの入力が必要な「my_function(index、date)」と呼ぶことにします。

この関数は私に結果を与え、データフレームの対応する空のスロットにその結果を埋めたいと思います。しかし、そのためには、インデックスと日付の両方を取得する必要があります。例えば

、私はインデックス「A」および'27/2017' 分の3の最初の日を必要とする、のは、私は私のデータフレームの最初のスロットを埋めるためにしたいとしましょう、私はこれがあります。

はmy_function ( 'A'、'27/3/2017 ')

DataFrame全体でこれを行うにはどうすればよいですか?これが混乱するような音がある場合は、私のお詫び申し上げます。コードの末尾に追加

+0

.locインデックスを使用できますか? def my_function(index、date): df.loc [index、date] = some_value' – Evan

+0

この関数は既に定義されています。私が気にするのは、対応するインデックスと日付の値を、行とヘッダー。 –

+1

データフレーム内のすべてのセルを反復処理し、各セルに関数を適用する方法を尋ねていますか? – Evan

答えて

0

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

関連する問題