如何在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
请继续关注您的意见。
答案 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