一、pandas合併列名重複
在pandas中,如果兩個或多個數據幀的列名相同,可以使用.merge()方法將它們合併為一個數據幀,同時保留重複的列名。例如:
import pandas as pd
df1 = pd.DataFrame({'key':['a','b','c'], 'value1':[1,2,3]})
df2 = pd.DataFrame({'key':['a','b','d'], 'value1':[4,5,6]})
result = pd.merge(df1, df2, on='key')
print(result)
在這個例子中,df1和df2都有列名為’key’和’value1’的列。在使用merge()方法進行合併時,使用’on’參數指定以哪個列作為合併依據。結果將保留重複的列名’value1’。
二、pandas按列合併
在使用pandas進行列合併時,可以使用.concat()方法對兩個或多個數據幀進行按列合併。例如:
import pandas as pd
df1 = pd.DataFrame({'key':['a','b','c'], 'value1':[1,2,3]})
df2 = pd.DataFrame({'key':['a','b','d'], 'value2':[4,5,6]})
result = pd.concat([df1, df2['value2']], axis=1)
print(result)
在這個例子中,使用.concat()方法將df1和df2的’value1’和’value2’列進行合併。使用’axis=1’參數指定按列進行合併。結果返回一個數據幀,包含原來的列和新合併的列。
三、pandas合併列中重複項
如果在合併列中存在重複的項,在使用.merge()方法進行合併時,使用’how’參數指定如何處理重複項。默認情況下,’how’參數為’inner’,表示只保留重複項。
import pandas as pd
df1 = pd.DataFrame({'key':['a','b','c'], 'value1':[1,2,3]})
df2 = pd.DataFrame({'key':['a','b','d'], 'value1':[4,5,6]})
result = pd.merge(df1, df2, on='key')
print(result)
在這個例子中,df1和df2的’key’列中都有值為’a’和’b’的項。在使用.merge()方法進行合併時,將保留這兩項。結果將僅保留重複項的’key’列和兩個’value1’列。
四、pandas合併列表
有時,需要將兩個或多個列表合併為一個列表。可以使用pandas中的Series和.concat()方法進行合併。例如:
import pandas as pd
list1 = ['a','b','c']
list2 = ['d','e','f']
s1 = pd.Series(list1)
s2 = pd.Series(list2)
result = pd.concat([s1, s2])
print(result)
在這個例子中,將list1和list2轉換為Series對象,再使用.concat()方法將它們按照順序合併為一個列表。結果返回一個新的Series對象,包含兩個原始列表中的所有元素。
五、pandas合併列刪除NaN
在使用pandas合併列時,有時會出現NaN值。可以使用.dropna()方法刪除這些值。例如:
import pandas as pd
import numpy as np
df1 = pd.DataFrame({'key':['a','b','c'], 'value1':[1,np.nan,3]})
df2 = pd.DataFrame({'key':['a','b','d'], 'value1':[4,5,np.nan]})
result = pd.merge(df1, df2, on='key').dropna()
print(result)
在這個例子中,合併df1和df2時,出現NaN值。使用.dropna()方法刪除這些值,結果返回一個新的數據幀,僅包含沒有NaN值的行。
六、pandas怎麼合併兩列
在pandas中,可以使用.assign()方法將兩列合併為一列。例如:
import pandas as pd
df1 = pd.DataFrame({'key':['a','b','c'], 'value1':[1,2,3]})
df2 = pd.DataFrame({'key':['a','b','d'], 'value2':[4,5,6]})
result = pd.merge(df1, df2, on='key').assign(new_col=lambda x: x['value1']+x['value2'])
print(result)
在這個例子中,使用.merge()方法將df1和df2合併,並使用.assign()方法將’value1’和’value2’合併為’new_col’列。使用匿名函數計算’new_col’列的值,結果返回一個包含’new_col’列的新數據幀。
七、python pandas合併列
在Python中,pandas庫提供了許多函數和方法,可以方便地進行列合併。例如:
import pandas as pd
df1 = pd.DataFrame({'key':['a','b','c'], 'value1':[1,2,3]})
df2 = pd.DataFrame({'key':['a','b','d'], 'value2':[4,5,6]})
result = pd.merge(df1, df2, on='key')
print(result)
在這個例子中,使用pandas的.merge()方法將df1和df2合併,以’key’列作為依據。
八、pandas合併數組
在pandas中,可以使用numpy的.concatenate()方法將兩個或多個數組合併為一個數組。例如:
import pandas as pd
import numpy as np
array1 = np.array([1,2,3])
array2 = np.array([4,5,6])
result = np.concatenate([array1, array2])
print(result)
在這個例子中,使用numpy的.concatenate()方法將array1和array2合併為一個數組。結果返回一個包含所有原始數組元素的新數組。
九、pandas合併行數據
在pandas中,可以使用.append()方法將兩個或多個數據幀的行數據合併在一起。例如:
import pandas as pd
df1 = pd.DataFrame({'key':['a','b','c'], 'value1':[1,2,3]})
df2 = pd.DataFrame({'key':['d','e','f'], 'value1':[4,5,6]})
result = df1.append(df2)
print(result)
在這個例子中,使用.append()方法將df2的所有行數據添加到df1的末尾。結果返回一個包含兩個數據幀所有行數據的新數據幀。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/200531.html