例如。 数据A:
userID = my_email_address
API_KEY = my_api_key
# my_api_key was generated under my_email_address on GCP
email_content = CreateMessageWithAttachment(userID, userID, "Test API", "This is a test.", file_dir, filename)
r = requests.post(
url="https://www.googleapis.com/gmail/v1/users/{}/messages/send?key={}".format(userID, API_KEY),
data=json.dumps(email_content)
)
if r.status_code == 200:
print("Succeed!")
else:
print(r.status_code)
我想将其“聚集”到这个:
y female male
1 2 3
4 5 6
在R语言中很容易。Python熊猫怎么样?
答案 0 :(得分:1)
您应该尝试melt,在给定的数据中,相反(扩展版本称为cast),这些melt和cast函数与R的reshape2非常相似:
import pandas as pd
pd.melt(dt, id_vars="y")
dt是您的输入表
输出:
#y variable value
#1 female 2
#4 female 5
#1 male 3
#4 male 6
答案 1 :(得分:0)
尝试从熊猫(pd.melt)中 融化 。
使用 id_vars 定义您的主要聚集/融化变量; value_vars 来定义您的值变量; var_name 定义值-vars变量的标题;和 value_name 定义实际值的标题。
看这个例子:
#Import pandas module
import pandas as pd
# Define the dataframe
DF = pd.DataFrame({'y': [1,4], 'female': [2,5], 'male': [3,6]})
# Gather/melt the data frame
pd.melt(DF, id_vars='y', value_vars=['female', 'male'],var_name='gender',
value_name='value')
输出结果如下:
y gender value
0 1 female 2
1 4 female 5
2 1 male 3
3 4 male 6
答案 2 :(得分:0)
聚集
df1=df.melt(id_vars='y')
df1
传播
df2=df1.pivot(index='y', columns='variable')
df2
答案 3 :(得分:0)
这个怎么样:
from datar import f
from datar.tibble import tribble
from datar.tidyr import pivot_longer
df = tribble(
f.y, f.female, f.male,
1, 2, 3,
4, 5, 6
)
pivot_longer(df, [f.female, f.male], names_to="gender")
# y name value
# 0 1 female 2
# 1 4 female 5
# 2 1 male 3
# 3 4 male 6
我是 datar 包的作者。如果您对使用有任何疑问,请随时提交问题。