Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用pandas中的另一个数据帧替换行值的最简单方法?_Python_Pandas - Fatal编程技术网

Python 用pandas中的另一个数据帧替换行值的最简单方法?

Python 用pandas中的另一个数据帧替换行值的最简单方法?,python,pandas,Python,Pandas,我是python新手,我更喜欢使用R 我想用其他dataframe替换特定行,因此我要做的是: 我的代码 我也试过xgb[8:12],xgb.loc[8:11,:],我得到的是 结果 如果给定要更改的行的索引,该如何操作?最简单的是按列表设置的(与列的长度相同): 您的解决方案通过对相同的索引值(如切片行)进行切片来处理setindex值: df = pd.DataFrame([[0.36950416, 0.08233581, 0.54816002]], c

我是python新手,我更喜欢使用R

我想用其他dataframe替换特定行,因此我要做的是:

我的代码 我也试过
xgb[8:12]
xgb.loc[8:11,:]
,我得到的是

结果 如果给定要更改的行的索引,该如何操作?

最简单的是按列表设置的(与列的长度相同):

您的解决方案通过对相同的索引值(如切片行)进行切片来处理set
index
值:

df = pd.DataFrame([[0.36950416, 0.08233581, 0.54816002]],
                   columns=xgb.columns, 
                   index=xgb.index[8:12])
xgb.iloc[8:12,:]=df
最简单的由列表设置(与列长度相同):

您的解决方案通过对相同的索引值(如切片行)进行切片来处理set
index
值:

df = pd.DataFrame([[0.36950416, 0.08233581, 0.54816002]],
                   columns=xgb.columns, 
                   index=xgb.index[8:12])
xgb.iloc[8:12,:]=df

是的,但是如果值不总是相同呢?我想用另一个dataframe替换行谢谢,我能知道为什么我必须在dataframe中添加特定的索引吗?有没有一种方法可以替代它而不必这样做?PD:几分钟前我得到了一个答案,但我仍然无法得到你的答案,所以我会在so允许的情况下尽快回答。@DannyHern-因为如果索引值不相同,那么就会创建缺少的值。是的,但是如果值不总是相同呢?我想用另一个dataframe替换行谢谢,我能知道为什么我必须在dataframe中添加特定的索引吗?有没有一种方法可以替代它而不必这样做?PD:几分钟前我接受了一个答案,但我仍然无法接受你的答案,所以我会在so允许的情况下尽快回答。@DannyHern-因为如果没有相同的索引值,那么就会创建缺少的值。
xgb=pd.DataFrame([[0, 0, 0]]*18,columns=["0","1","2"])
xgb.iloc[8:12,:]=[0.36950416, 0.08233581, 0.54816002]
print (xgb)
           0         1        2
0   0.000000  0.000000  0.00000
1   0.000000  0.000000  0.00000
2   0.000000  0.000000  0.00000
3   0.000000  0.000000  0.00000
4   0.000000  0.000000  0.00000
5   0.000000  0.000000  0.00000
6   0.000000  0.000000  0.00000
7   0.000000  0.000000  0.00000
8   0.369504  0.082336  0.54816
9   0.369504  0.082336  0.54816
10  0.369504  0.082336  0.54816
11  0.369504  0.082336  0.54816
12  0.000000  0.000000  0.00000
13  0.000000  0.000000  0.00000
14  0.000000  0.000000  0.00000
15  0.000000  0.000000  0.00000
16  0.000000  0.000000  0.00000
17  0.000000  0.000000  0.00000
df = pd.DataFrame([[0.36950416, 0.08233581, 0.54816002]],
                   columns=xgb.columns, 
                   index=xgb.index[8:12])
xgb.iloc[8:12,:]=df