簡體   English   中英

如何在數據幀中以順序格式寫入數據

[英]how to write data in the sequential format in the dataframe

import json
import pandas as pd
import numpy as np


class Decoder(json.JSONDecoder):
    def decode(self, s):
        result = super(Decoder, self).decode(s)
        return self._decode(result)

    def _decode(self, o):
        if isinstance(o, str):
            try:
                return int(o)
            except ValueError:
                try:
                    return float(o)
                except ValueError:
                    return o
        elif isinstance(o, dict):
            return {k: self._decode(v) for k, v in o.items()}
        elif isinstance(o, list):
            return [self._decode(v) for v in o]
        else:
            return o


with open('ouput_data.json') as f:
    data = json.load(f, cls=Decoder)

list = []
list = (data['data'])
df = pd.DataFrame(list, columns=['id', 'value'])
new_df = df.set_index('id')
new_df1 = new_df.reindex(np.arange(1, 14)).fillna(' ')
print(new_df1)

給出的輸出如下,

 id              value
  1            whats up
  2                what
  3                    
  4                    
  5                  HI
  6                    
  7                    
  8                    
  9                    
 10                    
 11                    
 12                    
 13   

但我想要按順序輸出,我如何編輯代碼以實現此輸出

id      1       2     3   4   5   6   7   8   9   10   11   12   13
value  whatsup  what          Hi

讓我知道我必須更改現有代碼的地方!!!! 請!!!!!

提前致謝

你的三行:

df = pd.DataFrame(list,columns=['id','value'])
new_df = df.set_index('id')
new_df1=new_df.reindex(np.arange(1, 14)).fillna(' ')

可以改寫為:

df = (pd.DataFrame(list, columns = ['id','value'])
        .set_index('id')
        .reindex(np.arange(1, 14)).fillna(' ')
        .T
     )

df就是你所追求的。

暫無
暫無

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

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