我需要连接两个大小不等的阵列:
数组-1:
A = ["year","month","day","hour","minute","second", "a", "b", "c", "d"]
data1 = pd.read_csv('event_5.txt',sep='\t',names=A)
array1=data1[['year', 'month', 'day']]
阵列-2:
B=["station", "phase", "hour", "minute", "second"]
arr_data = pd.read_csv('arrival_5.txt',sep='\t',names=B)
ar_t= arr_data[['hour', 'minute', 'second']]
array2 = pd.DataFrame(ar_t)
所需的输出如下所示:这里,[2019 11 9]是阵列-1的形状,以匹配第二个阵列的尺寸,然后是concat。但是,在重塑的情况下,我每次都需要检查第二个数组的尺寸。因此,我需要一个自动脚本,它可以处理不相等的数组
Array-1:第一个数组始终具有相同的维度
year month day
0 2019 11 9
Array-2:可变维度列是固定的,但每次迭代行都会更改:
hour minute second
0 14 57 41.80
1 14 58 3.47
2 14 57 25.99
3 14 57 37.00
4 14 57 29.86
5 14 57 40.24
6 14 57 32.61
7 14 57 42.26
8 14 57 29.74
9 14 57 42.36
10 14 57 46.00
11 14 58 8.69
12 14 57 34.50
13 14 57 48.97
14 14 57 30.30
15 14 57 39.78
16 14 57 32.45
17 14 57 47.83
18 14 57 25.86
19 14 57 36.30
20 14 57 17.90
21 14 57 23.40
22 14 57 34.64
23 14 57 50.95
24 14 57 35.90
25 14 57 50.64
所需输出:
Year month day hour minute second
0 2019 11 9 14 57 41.80
1 2019 11 9 14 58 3.47
2 2019 11 9 14 57 25.99
3 2019 11 9 14 57 37.00
4 2019 11 9 14 57 29.86
5 2019 11 9 14 57 40.24
6 2019 11 9 14 57 32.61
7 2019 11 9 14 57 42.26
8 2019 11 9 14 57 29.74
9 2019 11 9 14 57 42.36
10 2019 11 9 14 57 46.00
11 2019 11 9 14 58 8.69
12 2019 11 9 14 57 34.50
13 2019 11 9 14 57 48.97
14 2019 11 9 14 57 30.30
15 2019 11 9 14 57 39.78
16 2019 11 9 14 57 32.45
17 2019 11 9 14 57 47.83
18 2019 11 9 14 57 25.86
19 2019 11 9 14 57 36.30
20 2019 11 9 14 57 17.90
21 2019 11 9 14 57 23.40
22 2019 11 9 14 57 34.64
23 2019 11 9 14 57 50.95
24 2019 11 9 14 57 35.90
25 2019 11 9 14 57 50.64
这对我很有用:
输出:
输出:
更新,为了提高大型数据集的性能,只需在重新调整阵列形状后堆叠新值:
输出:
更新在不了解exakt维度的情况下,您只需使用:
您可以使用
numpy.column_stack
:将常量值分配给数据帧列
如果第一个数组始终是单行数据帧或一维数组,则可以使用
pandas
为列指定一个常量值语法是
my_dataframe["new_column"] = constant_value
因为
arr1
是一个数据帧,访问一个列将给我们一个系列。为了得到它的常量值,我们需要将单元格中的值索引为0-或第一行在您的情况下,这将成为:
请记住,修改
arr2
对象将在适当的位置工作访问数据帧后面的numpy阵列
如果需要多维数组,只需调用:
根据您的用例对列进行排序
如果需要对列进行排序,您可以对它们进行不同的查看,如下所示:
相关问题 更多 >
编程相关推荐