[英]sorting csv data in pandas
我正在尋找您的建議,我有一個包含數據的 CSV 文件:
我正在嘗試在“關鍵字”列中查找所有唯一關鍵字並將它們添加到嵌套字典中,例如
data = {
"sony a5000": {"7/25/22": "422,484", "8/25/22":"405,284", "9/25/22": "402,210" ....,
"regalo para hombre": {"7/25/22": "422,485", "8/25/22": "382,485", "9/25/22": "327,321" ....,
我已經使用 duplicated() 方法在列中查找所有重復的關鍵字並將它們添加到變量(res = df[df.duplicated('keyword')])
但是,我無法設法將項目添加到 DICT ,我嘗試了循環但沒有結果。
你能給我一個線索,我應該在 pandas 中使用什么 function 或方法將數據轉換為字典。
樣本數據:
df = pd.DataFrame({
"keyword": ["sony", "sony", "maroon", "maroon"],
"searches": ["422,484", "422,485", "422,486", "422,487"],
"date": ["7/5/22", "7/5/23", "7/5/24", "7/5/25"]
})
拆分數據
def extract_values(group):
d = {}
for index, row in group.iterrows():
d[row["date"]] = row["searches"]
return {row["keyword"] : d}
result = df.groupby("keyword").apply(lambda x: extract_values(x))
result.tolist()
樣品 output
[{'maroon': {'7/5/24': '422,486', '7/5/25': '422,487'}},
{'sony': {'7/5/22': '422,484', '7/5/23': '422,485'}}]
您可以為此使用字典理解:
{g[0]:{k:v for k, v in zip(g[1].date, g[1].searches)} for g in df.groupby('keyword')}
輸入:
df = pd.DataFrame({"keyword": ["sony", "sony", "maroon", "maroon"], "searches": ["422,484", "422,485", "422,486", "422,487"], "date": ["7/5/22", "7/5/23", "7/5/24", "7/5/25"]})
Output:
{'maroon': {'7/5/24': '422,486', '7/5/25': '422,487'},
'sony': {'7/5/22': '422,484', '7/5/23': '422,485'}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.