如何在Python中的PANDA数据中插入行?

时间:2018-01-10 14:54:01

标签: pandas

如何在Python中的PANDA数据中插入行? 我目前正在从查询中加载数据 示例data = pd.read_sql_query (query, con) 数据具有以下结构:

timestamp data1 data2
1515581720 12 23
1515581721 23 34
1515581723 45 34
1515581724 45 23

我想知道,如果可以在上面插入一个新行 从熊猫图书馆的数据框中的mysql获取的信息。 在前一种情况下,缺少注册“1515581722”,

应该是:

timestamp data1 data2
1515581720 12 23
1515581721 23 34
***1515581722 NULL NULL***
1515581723 45 34
1515581724 45 23

请继续关注您的意见。

2 个答案:

答案 0 :(得分:0)

假设您的时间戳应该是一个范围,您可以

timestamps = pd.DataFrame(data=list(range(1515581720, 1515581724)), columns=['timestamp'])
data = pd.merge(timestamps, data, how='left', on='timestamp')

第一行创建一个新数据框,其中所有时间戳都在给定范围内

   timestamp
0  1515581720
1  1515581721
2  1515581722
3  1515581723
4  1515581724

第二行将此新数据框与原始数据合并为NaN,其中没有匹配项:

   timestamp  data1   data2
0  1515581720   12    23
1  1515581721   23    34
2  1515581722   NaN   NaN
3  1515581723   45    34
4  1515581724   45    23

答案 1 :(得分:0)

还有另一种方式

df.set_index('timestamp').reindex(range(df.timestamp.min(),df.timestamp.max()+1)).reset_index()
Out[297]: 
    timestamp  data1  data2
0  1515581720   12.0   23.0
1  1515581721   23.0   34.0
2  1515581722    NaN    NaN
3  1515581723   45.0   34.0
4  1515581724   45.0   23.0