簡體   English   中英

從列表中填充 dataframe 行,其中每第 n 個值開始一個新行

[英]Fill dataframe row-whise from a list, where every nth values begins a new row

希望你能幫助我。

我創建了一個包含 25 列的 dataframe,到目前為止行都是空的。

column_name = df[0].values.tolist()[0:25]
column_name

['Time:',
 '\tDC_Verbrauch:',
  '\tDC_Verbrauch_Ueberlauf:',
  '\tHVEM_IstLeistungNA:',
  '\tHVLM_Restladezeit_HV_Bat_02:',
  '\tHVLM_Bat_laden_aktiv:',
  '\tHVLM_Ladeart:',
  '\tHVLM_Stecker_Status:',
  '\tKBI_angez_Geschw:',
  '\tKBI_Inhalt_Tank:',
  '\tKBI_Aussen_Temp_gef:',
  '\tMO_KVS:',
  '\tMO_KVS_Ueberlauf:',
  '\tMO_Verbrauch_EM_Ges:',
 ...

然后刪除 \t 並將這些 25 個值的列表作為空 dataframe 的列名。

現在我有一個包含 16350 個值的列表。

每第 25 個值應開始一個新行。 這意味着我稍后將有 654 行和 25 個填充列。 所以從列表形狀 (16350,1) 到 dataframe (654,25)

values
 ['1654786811.282628',
 '786Unit_WattSecond',
 '0',
 '13700Unit_Watt',
 '1370Unit_Minut',
 '0',
 '2',
 '2',

 ...

 '1810Unit_WattSecond',
 '0',
 '1654786811.381790',
 '83Unit_WattSecond',
 '1',
 '4150Unit_Watt',
 '415Unit_Minut',
 '1',
 '3',
 '3',
 '26.56Unit_KiloMeterPerHour',

第一行的開頭是'1654786811.282628' - 第二行的開頭: '1654786811.381790'

因此,我需要從一個值列表中逐行填充 dataframe。

最好的問候thaclone

您可以使用 numpy.reshape 來實現。

查看更簡單的 3 列數據:

data = [ "Tom", 32, 85, "Jerry", 35, 50, "Mickey", 40, 10, "Mouse", 20, 12 ]
pd.DataFrame(np.array(data).reshape(4,3), columns = ["name", "age", "height"])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM