繁体   English   中英

用numpy数组替换熊猫数据框的行

[英]Replace row of a pandas dataframe with numpy array

我有一个熊猫数据框,例如:

import sys
if sys.version_info[0] < 3: 
    from StringIO import StringIO
else:
    from io import StringIO

import pandas as pd

TESTDATA = StringIO("""col1;col2;col3
    (1,2);(3,4);(5,6)
    (7,8);(9,10);(11,12)
    (13,14);(15,16);(17,18)
    (19,20);(21,22);(23,24)
    """)

df = pd.read_csv(TESTDATA, sep=";")

数据框如下所示:

          col1     col2     col3
0        (1,2)    (3,4)    (5,6)
1        (7,8)   (9,10)  (11,12)
2      (13,14)  (15,16)  (17,18)
3      (19,20)  (21,22)  (23,24)

现在,假设有2行0和2我希望替换为零的numpy数组,例如:

np.zeros((1,3,2))
"""array([[[ 0.,  0.],
        [ 0.,  0.],
        [ 0.,  0.]]])"""

因此,最终结果是对于行0和2,我有元组(0,0),(0,0)和(0,0)。 有人可以提出一种方法吗?

这将工作:

arr = np.zeros((1, 3, 2))
row = [tuple(t) for t in arr[0]]
df.loc[0] = row
df.loc[2] = row

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM