pandas 增加一行資料

2021-09-07 19:58:57 字數 1364 閱讀 7571

常用的方法

df = dataframe(columns=('lib', 'qty1', 'qty2'))

for i in range(5):

df.loc[i] = [randint(-1,1) for n in range(3)]

# loc可以對沒有的 index 進行賦值,而 iloc 則不允許,iloc只能對已經存在的位置進行操作。

print(df)

# 對於完整的自增索引,可以使用len(df),在最後新增一行

for i in range(5):

df.loc[len(df)] = [randint(-1,1) for n in range(3)]

這是一種方法,但是如果我們是往已有的dataframe中新增資料,而已有的dataframe已經存在相同的index就會造成替換。

當然如果我們對我們的資料足夠了解,或者index並不重要,我們可以對index按0-based重新賦值。然後新增新行,也就不會出現問題。

import pandas as pd

from numpy.random import randint

df = pd.dataframe(columns=('lib', 'qty1', 'qty2'))

for i in range(5):

s = pd.series()

# 這裡 series 必須是 dict-like 型別

# 這裡必須選擇ignore_index=true 或者給 series 乙個index值

#也可以直接填寫字典格式進去

import time

import pandas as pd

from numpy.random import randint

# 採用 loc

t = time.time()

df = pd.dataframe(columns=('lib', 'qty1', 'qty2'))

for i in xrange(10000):

df.loc[i] = [randint(-1,1) for n in range(3)]

print('loc:', time.time() - t)

t = time.time()

df = pd.dataframe(columns=('lib', 'qty1', 'qty2'))

for i in xrange(10000):

s = pd.series()

# ('loc:', 18.150289058685303)

3、 concat

再定義乙個dataframe,然後合併兩個df

pandas將一行資料展開成多行的需求

在使用 pandas 進行資料分析的過程中,我們常常會遇到將一行資料展開成多行的需求,多麼希望能有乙個類似於 hive sql 中的 explode 函式。這個函式如下 原資料集如下 資料集如下 data date range 20200520 20200618 id 257f date range...

mysql 一行資料拆分多行

查詢出被逗號分隔字段需要拆分的最大數量 select max length 逗號分隔的字段 length replace 逗號分隔的字段,1 from 處理表 where 條件 建立一張臨時表用於聯合查詢,方便把處理表單行記錄分隔為多行 create temporary table incre ta...

java JTable中動態新增 增加一行資料

新建 原理 用model給jtable填充資料,vector給model填充資料,vector給vector填充資料 vector vdata new vector vector vname new vector vname.add column1 vname.add column2 vector ...