[英]Python Pandas - Concat two data frames with different number of rows and columns
[英]how to generate n number of columns based on rows in previous column data in python, I am very new to python, pandas data frames
我有如下的 csv 文件數據
ModelNumber Variables
---------- ----------
208 TotalTerms
208 Children
208 Property
208 isMarried
207 HasLoan
207 Children
如何生成以下輸出
ModelNumber Variable1 Variable2 Variable3 Variable4
---------- ---------- ---------- ---------- ----------
208 TotalTerms Children Property isMarried
207 HasLoan Children
我認為對您的問題更好的情況是使用 pivot_table 並將每個變量定義為列而不是變量 1、變量 2 等......並且只需對每個型號中的每個變量使用 1/0(真/假):
df_1 = pd.DataFrame({'ModelNumber':[208,208,208,208,207,207],
'Variables':['TotalTerms','Children','Property','isMarried','HasLoan','Children']})
df_output = pd.pivot_table(df_1,index='ModelNumber',columns='Variables',aggfunc=len)
print(df_output)
輸出:
Variables Children HasLoan Property TotalTerms isMarried
ModelNumber
207 1 1 0 0 0
208 1 0 1 1 1
我會寫步驟,這樣你會更容易。
第 1 步:讀取 csv 文件
第 2 步:在讀取 dict 中的數據時(我們希望將 ModelNumber 等數據作為鍵,將 Variables 作為數組元素),如果變量值在 dict 中,則將其值附加到數組中,如果沒有,則添加其以空數組作為值的字典的鍵,然后將此變量添加到數組中。
基於您的數據的示例數據表示:
{
"208": ["TotalTerms", "Children", "Property", "isMarried"],
"207": ["HasLoan", "Children"]
}
第 3 步:將此數據導出回 csv
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.