を私は持っていinput.csv
という名前のcsvファイルがあるとしこのデータはsort_df
に既に読み込まれています。
name,age,total age
Alfredo,13,
Alfredo,12,
Alfredo,15,
Jaap,12,
Jaap,14,
Koen,16,
Lian,76,
Lian,45,
Lian,34,
Lian,14,
この場合、別のdummy
データフレームを宣言する必要はありません。これを使用します。
from pandas import DataFrame
sort_df = DataFrame.from_csv("inCSV.txt", index_col=False)
final_df = sort_df
# Use a dictionary to keep track instead
total_age = {}
for name in sort_df["name"]:
if name not in total_age.keys():
total_age[name] = 0
# Add up the ages
for index in xrange(len(sort_df)):
person = sort_df.loc[index]
name = person["name"]
age = person["age"]
total_age[name] += age
# Set the new ages into final_df
for index in xrange(len(final_df)):
person = final_df.loc[index]
name = person["name"]
final_df.set_value(index, "total age", total_age[name])
print final_df
(final_df
で)あなたを与えるであろう:
name age total age
0 Alfredo 13 40.0
1 Alfredo 12 40.0
2 Alfredo 15 40.0
3 Jaap 12 26.0
4 Jaap 14 26.0
5 Koen 16 16.0
6 Lian 76 169.0
7 Lian 45 169.0
8 Lian 34 169.0
9 Lian 14 169.0
あなたがして、ファイルを更新するにはindenが見つかりません最初のforループの記述。あなたは 'csv'タグを付けたので、csvファイルのすべてのデータですか? –
はい名前と年齢の2つの列を持つCSVファイルがあります。 – Papie
おそらく、リストを反復するのではなく、csvファイルを繰り返し処理すべきですか? – Papie