Если вам нужно что-то более точное, тогда посмотрите на это .
Формулы Винценти - это два связанных итерационных метода, используемых в геодезии, для вычисления расстояния между двумя точками на поверхности сфероида, разработанной Таддеусом Винценти (1975а). Они основаны на предположении, что фигура Земли является сплюснутым сфероидом и, следовательно, более точна, чем методы, такие как расстояние между большими кругами, которое принимает сферическую Землю.
Первый (прямой) метод вычисляет местоположение точки, которая является заданным расстоянием и азимутом (направлением) от другой точки. Второй (обратный) метод вычисляет географическое расстояние и азимут между двумя заданными точками. Они широко используются в геодезии, поскольку они точны с точностью до 0,5 мм (0,020 дюйма) на эллипсоиде Земли.
blockquote>
Вы можете объединить суб-DataFrame (только с этими столбцами):
df2[list('xab')] # df2 but only with columns x, a, and b
df1.merge(df2[list('xab')])
Вы можете использовать .loc
, чтобы выбрать конкретные столбцы со всеми строками, а затем потяните это. Ниже приведен пример:
pandas.merge(dataframe1, dataframe2.iloc[:, [0:5]], how='left', on='key')
В этом примере вы объединяете dataframe1 и dataframe2. Вы выбрали внешнее левое соединение на «ключ». Однако для dataframe2 вы указали .iloc
, который позволяет вам указать строки и столбцы, которые вы хотите в числовом формате. Используя :
, вы выбираете все строки, но [0:5]
выбирает первые 5 столбцов. Вы можете использовать .loc
для указания по имени, но если вы имеете дело с длинными именами столбцов, тогда .iloc
может быть лучше.
.loc
сделает копию , и на большой df, которая может быть болезненной. Возможно, было бы лучше слить, а затем сразу же взять срез столбца в том же выражении.
– smci
19 April 2018 в 06:33
Вы хотите использовать TWO-скобки, поэтому, если вы выполняете вид действия VLOOKUP:
df = pd.merge(df,df2[['Key_Column','Target_Column']],on='Key_Column', how='left')
Это даст вам все в исходном файле df +, добавив в соответствующий столбец в df2, что вы хочу присоединиться.
Это объединить выбранные столбцы из двух таблиц.
Если table_1 содержит столбцы t1_a,t1_b,t1_c..,id,..t1_z
, а table_2 содержит столбцы t2_a,t2_b,t2_c...,id,..t2_z
, а в итоговой таблице требуются только t1_a, id, t2_a, затем
mergedCSV = table_1[['t1_a','id']].merge(table_2[['t2_a','id']], on = 'id',how = 'left')
#save resulting output file
mergedCSV.to_csv('output.csv',index = False)