Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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 如何在特定行的列中写入值?_Python_Excel_Pandas - Fatal编程技术网

Python 如何在特定行的列中写入值?

Python 如何在特定行的列中写入值?,python,excel,pandas,Python,Excel,Pandas,我有一个excel文件,我需要在一组特定行中写入特定值: 例如:我有20行5列 我需要添加新的列,并写入新的列值(如前5行中的x,后5行中的y),依此类推)。 我可以知道如何实现它吗 col1 col2 col3 col4 1 a1 b1 c1 2 a2 * * 3 a3 * * 4 a4 * * 5 a5 * * 6 a6

我有一个excel文件,我需要在一组特定行中写入特定值: 例如:我有20行5列 我需要添加新的列,并写入新的列值(如前5行中的x,后5行中的y),依此类推)。 我可以知道如何实现它吗

col1    col2    col3   col4     
1       a1      b1     c1       
2       a2      *   *   
3   a3  *   *   
4   a4  *   *       
5   a5  *   *       
6   a6  *   *       
7   a7  *   *       
8   a8  *   *       
9   a9  *   *
10  a10 *   *
11  a11 *   *
12  a12 *   *
13  a13 *   *
14  a14 *   *
15  a15 *   *
16  a16 *   c16
17  a17 *   c17
18  a18 *   c18
19  a19 *   c19
我需要这样的输出:

col1    col2    col3   col4    colnew
1       a1      b1     c1   aa
2       a2      *   *   aa  
3   a3  *   *   aa
4   a4  *   *   aa  
5   a5  *   *   aa  
6   a6  *   *   bb  
7   a7  *   *   bb  
8   a8  *   *   bb  
9   a9  *   *   bb
10  a10 *   *   bb
11  a11 *   *   cc
12  a12 *   *   cc
13  a13 *   *   cc
14  a14 *   *   cc
15  a15 *   *   cc
16  a16 *   c16 dd
17  a17 *   c17 dd
18  a18 *   c18 dd
19  a19 *   c19 dd

首先按
5
使用楼层分割,然后按字典使用楼层分割-如果输出列的dict get
NaN
s中缺少某个值:

vals = ['aa','bb','cc','dd','ee']
d = dict(enumerate(vals))
print (d)
{0: 'aa', 1: 'bb', 2: 'cc', 3: 'dd', 4: 'ee'}

#default range index 
df['new'] = (df.index // 5).map(d.get)
#general solution
#df['new'] = pd.Series(np.arange(len(df)) // 5, index=df.index).map(d)
print (df)
    col1 col2 col3 col4 new
0      1   a1   b1   c1  aa
1      2   a2    *    *  aa
2      3   a3    *    *  aa
3      4   a4    *    *  aa
4      5   a5    *    *  aa
5      6   a6    *    *  bb
6      7   a7    *    *  bb
7      8   a8    *    *  bb
8      9   a9    *    *  bb
9     10  a10    *    *  bb
10    11  a11    *    *  cc
11    12  a12    *    *  cc
12    13  a13    *    *  cc
13    14  a14    *    *  cc
14    15  a15    *    *  cc
15    16  a16    *  c16  dd
16    17  a17    *  c17  dd
17    18  a18    *  c18  dd
18    19  a19    *  c19  dd

请在发布之前阅读以下内容: