各位前輩好, 小弟是剛接觸 Python 的新手
以下是小弟的 DataFrame 資料, 資料夾內有數份 json 檔
目前先讀取了兩份 json 轉成 DataFrame 格式後如下圖
import json
import pandas as pd
Data1 = pd.read_json("D:/PHM/正常/Data1.json")
Data2 = pd.read_json("D:/PHM/正常/Data2.json")
DataFrame1 = pd.DataFrame(Data1) # 轉成 DataFrame
DataFrame2 = pd.DataFrame(Data2)
display(DataFrame1,DataFrame2)
假如資料內我只需要其中一列 "DSY"
欲將兩份資料的 DSY 合併成一份資料 (不是串聯而是並列的方式)
應該使用那些程式碼來完成呢?
目前找到的方法最接近的應該是 insert 的方式, 可是試了幾次達不到想要的效果
麻煩各位前輩指點, 謝謝~
DataFrame_DSY1 = DataFrame1[["DSY"]] # 取出 DSY
DataFrame_DSY2 = DataFrame2[["DSY"]]
display(DataFrame_DSY1,DataFrame_DSY2)
並列是指這樣?
import pandas as pd
import numpy as np
json1 = pd.read_json('./data.json')
json2 = pd.read_json('./data2.json')
mergeData = np.array([json1['DSY'], json2['DSY']]).T
df = pd.DataFrame(data=mergeData, columns=['DSY', 'DSY'])
print(df)
# DSY DSY
# 0 11 21
# 1 12 22
data.json
[
{
"DSY": 11,
"DSX": 2,
},
{
"DSY": 12,
"DSX": 2,
}
]
data2.json
[
{
"DSY": 21,
"DSX": 22,
},
{
"DSY": 22,
"DSX": 23,
}
]
請問當三個 Data 並列的時候還能使用
四個以上的話就會產生 shape 不一樣的錯誤
請問應該如何解決呢?
import json,os
import pandas as pd
import numpy as np
# 讀取程式
Data1 = pd.read_json("D:/PHM/正常/Data1.json")
Data2 = pd.read_json("D:/PHM/正常/Data2.json")
Data3 = pd.read_json("D:/PHM/正常/Data3.json")
Data4 = pd.read_json("D:/PHM/正常/Data4.json")
mergeData = np.array([Data1['DSY'], Data2['DSY'], Data3['DSY'], Data4['DSY']]).T
df = pd.DataFrame(data=mergeData, columns=['DSY1', 'DSY2', 'DSY3', 'DSY4'])
print(df)
jihong620
看起來是數據長度不一樣造成的
如果你有要分 1, 2, 3, 4 的話其實可以這樣寫就好
d = {}
d['DSY1'], d['DSY2'], d['DSY3'], d['DSY4'] = Data1['DSY'], Data2['DSY'], Data3['DSY'], Data4['DSY']
df = pd.DataFrame(data=d)
print(df)
原本不這樣寫的原因是 key 沒辦法重複
補充一下 如果檔案名稱夠規律的話 可以直接帶迴圈
d = {}
for i in range(1, 5):
temp = pd.read_json('./data%s.json' % i)
d['DSY%s' % i] = temp['DSY']
listennn08
搞笑了.. 回去看數據確實是不一樣大
謝謝你提供這些簡短的寫法, 我再研究一下