我创建了以下系列和数据帧:
import pandas as pd
Series_1 = pd.Series({'Name': 'Adam','Item': 'Sweet','Cost': 1})
Series_2 = pd.Series({'Name': 'Bob','Item': 'Candy','Cost': 2})
Series_3 = pd.Series({'Name': 'Cathy','Item': 'Chocolate','Cost': 3})`
df = pd.DataFrame([Series_1,Series_2,Series_3], index=['Store 1', 'Store 2', 'Store 3'])
Run Code Online (Sandbox Code Playgroud)
我只想显示/打印出 DataFrame 中的一列(带或不带标题行):
任何一个
Adam
Bob
Cathy
Run Code Online (Sandbox Code Playgroud)
或者:
Sweet
Candy
Chocolate
Run Code Online (Sandbox Code Playgroud)
我尝试了以下代码但不起作用:
print(df['Item'])
print(df.loc['Store 1'])
print(df.loc['Store 1','Item'])
print(df.loc['Store 1','Name'])
print(df.loc[:,'Item'])
print(df.iloc[0])
Run Code Online (Sandbox Code Playgroud)
我可以用一行简单的代码来完成吗?
我明白我可以combine_first用来合并两个系列:
series1 = pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
series2 = pd.Series([1,2,3,4,5],index=['f','g','h','i','j'])
series3 = pd.Series([1,2,3,4,5],index=['k','l','m','n','o'])
Combine1 = series1.combine_first(series2)
print(Combine1
Run Code Online (Sandbox Code Playgroud)
输出:
a 1.0
b 2.0
c 3.0
d 4.0
e 5.0
f 1.0
g 2.0
h 3.0
i 4.0
j 5.0
dtype: float64
Run Code Online (Sandbox Code Playgroud)
如果我需要合并3个或更多系列怎么办?
我理解使用以下代码:print(series1 + series2 + series3)yield:
a NaN
b NaN
c NaN
d NaN
e NaN
f NaN
...
dtype: float64
Run Code Online (Sandbox Code Playgroud)
我可以有效地合并多个系列而不需要combine_first多次使用吗?
谢谢
merge一段时间以来,我一直在努力解决问题:
我有以下数据框:
staff_df = pd.DataFrame([{'Name': 'Kelly', 'Role': 'Director of HR', 'Location': 'State Street'},
{'Name': 'Sally', 'Role': 'Course liasion', 'Location': 'Washington Avenue'},
{'Name': 'James', 'Role': 'Grader', 'Location': 'Washington Avenue'}])
student_df = pd.DataFrame([{'Name': 'James', 'School': 'Business', 'Location': '1024 Billiard Avenue'},
{'Name': 'Mike', 'School': 'Law', 'Location': 'Fraternity House #22'},
{'Name': 'Sally', 'School': 'Engineering', 'Location': '512 Wilson Crescent'}])
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过多种方式合并它们:
pd.merge(staff_df, student_df, how='left', left_on='Name', right_on='Name')
pd.merge(student_df, staff_df, how='left', left_on='Name', right_on='Name')
pd.merge(staff_df, student_df, how='right', left_on='Name', right_on='Name')
pd.merge(student_df, staff_df, how='right', left_on='Name', right_on='Name')
Run Code Online (Sandbox Code Playgroud)
每个产生略有不同的输出。有人可以指导我以正确的方式理解每个输出是如何构建的吗?
具体来说,